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