From 75c4ee13cbdb34ddb6718f873fe0ad99f55c9e87 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Wed, 20 May 2020 17:50:18 +0200 Subject: [PATCH] Fix populate and rescan --- src/database/update.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/database/update.c b/src/database/update.c index c8d5b5cf..57e938f5 100644 --- a/src/database/update.c +++ b/src/database/update.c @@ -49,7 +49,8 @@ __database_add_kara(volatile sqlite3 *db, const char *filename) sqlite3_stmt *stmt = NULL; long status = false, kara_id = 0; struct kara_metadata data; - char path[PATH_MAX], *saveptr = NULL, *token, *id = NULL; + char _path[PATH_MAX], *saveptr = NULL, *token, *id = NULL; + char *path = _path; /* Metadata */ if (kara_metadata_read(&data, filename) != 0) { @@ -62,8 +63,10 @@ __database_add_kara(volatile sqlite3 *db, const char *filename) /* Try to find an id in the filename, reuse of variables, it's ugly */ path[PATH_MAX - 1] = '\0'; memcpy(path, filename, (strlen(filename) + 1) * sizeof(char)); - while (NULL != (token = strtok_r(path, "/", &saveptr))) + while (NULL != (token = strtok_r(path, "/", &saveptr))) { id = token; + path = NULL; + } size_t id_len = strspn(id, "0123456789"); id[id_len] = '\0'; /* Replace the . of .mkv */ STRTOL(kara_id, id, token, id_len); @@ -184,6 +187,7 @@ database_update(volatile sqlite3 *db, const char *kara_dir, int check_timestamp) if (dir->d_type == DT_REG) { database_get_update(db, &db_timestamp, NULL, NULL); + LOG_INFO("DB", "File is '%s'", path); if (check_timestamp && get_mtime(path) < db_timestamp) { LOG_INFO("DB", "Skip update of kara '%s' be cause of " "timestamps", path); -- GitLab