]> Nishi Git Mirror - dataworks.git/commitdiff
update mtime
authornishi <nishi@d4a5a174-5a4a-5b4b-b672-37683c10d7d5>
Wed, 22 May 2024 03:34:06 +0000 (03:34 +0000)
committernishi <nishi@d4a5a174-5a4a-5b4b-b672-37683c10d7d5>
Wed, 22 May 2024 03:34:06 +0000 (03:34 +0000)
git-svn-id: file:///raid/svn-main/nishi-dataworks/trunk@68 d4a5a174-5a4a-5b4b-b672-37683c10d7d5

Client/main.c
Library/database.c
Library/database_table.c
Library/dw_database.h

index 062d1081358acfc16e8aed65525f9676c05cc690..44f1ddabd7ff6a64987321d8a89176c0657979ae 100644 (file)
@@ -123,7 +123,7 @@ int main(int argc, char** argv) {
        struct tm* tm = localtime(&mtime);
        char mtimestr[256];
        strftime(mtimestr, 255, "%a %b %d %H:%M:%S %Z %Y", tm);
-       printf("Opened the database (Version %d, Modified at %s).\n", dataworks_database_get_version(db), mtimestr);    
+       printf("Opened the database (Version %d, Modified at %s).\n", dataworks_database_get_version(db), mtimestr);
        printf("\n");
        printf("Type a command (.help) for the help.\n");
        printf("\n");
index f0e07daa08e952df52b35a0c2df76d4e23d4cfdc..85baa567100c26dcad8f36b65f5ea341d56a2ee0 100644 (file)
@@ -122,3 +122,11 @@ uint64_t dataworks_database_get_mtime(struct dataworks_db* db) { return db->mtim
 const char* dw_errors[] = {"Success", "Used already"};
 
 const char* dataworks_database_strerror(int n) { return dw_errors[n]; }
+
+void dataworks_database_update_mtime(struct dataworks_db* db) {
+       __dw_lockfile(db->fp);
+       fseek(db->fp, 3 + 2, SEEK_SET);
+       int64_t t = time(NULL);
+       __dw_big_endian(t, int64_t, fwrite(__converted_ptr, 1, 8, db->fp));
+       __dw_unlockfile(db->fp);
+}
index bc2cd5814d893fcccd394f62802933612df14db6..eadc3a5872a2d2bbd1bc0cab5f281e79bc80347b 100644 (file)
@@ -78,6 +78,7 @@ int dataworks_database_create_table(struct dataworks_db* db, const char* name, c
                }
                free(buf);
                __dw_unlockfile(db->fp);
+               dataworks_database_update_mtime(db);
        }
 }
 
index b8ee6a6b1514a8b05151e7a1487ff2029e005fee..b9082b5d4beb05e45a1b347a9b6ad0fa4f7bb9dd 100644 (file)
@@ -212,6 +212,14 @@ int dataworks_database_create_table(struct dataworks_db* db, const char* name, c
  */
 const char* dataworks_database_strerror(int n);
 
+/**
+ * @~english
+ * @brief Update mtime.
+ * @param db Database
+ *
+ */
+void dataworks_database_update_mtime(struct dataworks_db* db);
+
 #ifdef __cplusplus
 }
 #endif