From 63396a271453bd9d27cdea9ed9d8dcd12cd0d767 Mon Sep 17 00:00:00 2001
From: Elliu <elliu@hashi.re>
Date: Thu, 7 Sep 2023 22:17:08 +0200
Subject: [PATCH] REPO: fix update of updated karas in repo

Correctly fix (and store in db) the repo unix_timestpam in
repo_timestamp
---
 src/database/update.c    | 4 ++--
 src/module/module_repo.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/database/update.c b/src/database/update.c
index 94e44c46..6583f596 100644
--- a/src/database/update.c
+++ b/src/database/update.c
@@ -13,7 +13,7 @@ database_internal_get_timestamp(lkt_db *db, sqlite3_stmt *stmt, uint64_t *timest
     SQLITE_STEP_ROW(db, stmt, error);
     int64_t signed_timestamp = sqlite3_column_int64(stmt, 0);
     GOTO_IF(signed_timestamp < 0, "Got a negative time stamp from DB, this is an error", error);
-    *timestamp = (uint64_t)timestamp;
+    *timestamp = (uint64_t)signed_timestamp;
     ret        = true;
 error:
     sqlite3_finalize(stmt);
@@ -51,7 +51,7 @@ database_set_kara_repo_timestamp_id(lkt_db *db, int id, uint64_t timestamp)
 {
     static const char *SQL_TEMPLATE = "UPDATE kara SET repo_timestamp = %d WHERE id = %zu;";
     char SQL[LKT_MAX_SQLITE_STATEMENT];
-    safe_snprintf(SQL, LKT_MAX_SQLITE_STATEMENT, SQL_TEMPLATE, id, timestamp);
+    safe_snprintf(SQL, LKT_MAX_SQLITE_STATEMENT, SQL_TEMPLATE, timestamp, id);
     SQLITE_EXEC(db, SQL, error);
     return true;
 error:
diff --git a/src/module/module_repo.c b/src/module/module_repo.c
index c62f5ea4..3e7321a0 100644
--- a/src/module/module_repo.c
+++ b/src/module/module_repo.c
@@ -535,8 +535,8 @@ ___handle_got_json_internal_callback(const char *key, const char *val, int comp,
 
         database_get_kara_repo_timestamp_path(kara->db, kara->filename, &filestamp);
         database_is_kara_mkv(kara->db, kara->filename, &magic_valid);
-        if (filestamp == 0 || kara->unix_timestamp != (long)(uint64_t)kara->unix_timestamp ||
-            filestamp <= (uint64_t)kara->unix_timestamp || (!magic_valid))
+        if (filestamp == 0 || filestamp != (uint64_t)kara->unix_timestamp ||
+            filestamp < (uint64_t)kara->unix_timestamp || (!magic_valid))
             goto do_it;
 
         /* Ignore kara */
-- 
GitLab