"user TEXT, "
"'group' TEXT, "
"hash1 TEXT, "
+ "ctime INTEGER, "
"mtime INTEGER, "
"capabilities TEXT, "
"FOREIGN KEY (pkg) REFERENCES packages(id) ON DELETE CASCADE"
}
const char* sql = "INSERT INTO files(pkg, path, size, type, config, datafile, mode, "
- "user, 'group', hash1, mtime, capabilities) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+ "user, 'group', hash1, ctime, mtime, capabilities) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
// Prepare the statement
r = sqlite3_prepare_v2(db->handle, sql, -1, &stmt, NULL);
goto END;
}
+ // Bind ctime
+ time_t ctime = pakfire_file_get_ctime(file);
+
+ r = sqlite3_bind_int64(stmt, 11, ctime);
+ if (r) {
+ ERROR(db->pakfire, "Could not bind ctime: %s\n", sqlite3_errmsg(db->handle));
+ pakfire_file_unref(file);
+ goto END;
+ }
+
// Bind mtime
- time_t mtime = pakfire_file_get_time(file);
+ time_t mtime = pakfire_file_get_mtime(file);
- r = sqlite3_bind_int64(stmt, 11, mtime);
+ r = sqlite3_bind_int64(stmt, 12, mtime);
if (r) {
ERROR(db->pakfire, "Could not bind mtime: %s\n", sqlite3_errmsg(db->handle));
pakfire_file_unref(file);
}
// Bind capabilities - XXX TODO
- r = sqlite3_bind_null(stmt, 12);
+ r = sqlite3_bind_null(stmt, 13);
if (r) {
ERROR(db->pakfire, "Could not bind capabilities: %s\n", sqlite3_errmsg(db->handle));
pakfire_file_unref(file);
char group[256];
mode_t mode;
- time_t time;
+
+ time_t ctime;
+ time_t mtime;
char* chksum;
pakfire_file_set_user(file, "root");
pakfire_file_set_group(file, "root");
- // Set time
- pakfire_file_set_time(file, stat->st_ctime);
+ // Set times
+ pakfire_file_set_ctime(file, stat->st_ctime);
+ pakfire_file_set_mtime(file, stat->st_mtime);
return 0;
}
// Set group
pakfire_file_set_group(file, archive_entry_gname(entry));
- // Set mtime
- pakfire_file_set_time(file, archive_entry_mtime(entry));
+ // Set times
+ pakfire_file_set_ctime(file, archive_entry_ctime(entry));
+ pakfire_file_set_mtime(file, archive_entry_mtime(entry));
return 0;
}
file->mode = mode;
}
-PAKFIRE_EXPORT time_t pakfire_file_get_time(PakfireFile file) {
- return file->time;
+PAKFIRE_EXPORT time_t pakfire_file_get_ctime(PakfireFile file) {
+ return file->ctime;
+}
+
+PAKFIRE_EXPORT void pakfire_file_set_ctime(PakfireFile file, time_t time) {
+ file->ctime = time;
+}
+
+PAKFIRE_EXPORT time_t pakfire_file_get_mtime(PakfireFile file) {
+ return file->mtime;
}
-PAKFIRE_EXPORT void pakfire_file_set_time(PakfireFile file, time_t time) {
- file->time = time;
+PAKFIRE_EXPORT void pakfire_file_set_mtime(PakfireFile file, time_t time) {
+ file->mtime = time;
}
PAKFIRE_EXPORT const char* pakfire_file_get_chksum(PakfireFile file) {
mode_t pakfire_file_get_mode(PakfireFile file);
void pakfire_file_set_mode(PakfireFile file, mode_t mode);
-time_t pakfire_file_get_time(PakfireFile file);
-void pakfire_file_set_time(PakfireFile file, time_t time);
+time_t pakfire_file_get_ctime(PakfireFile file);
+void pakfire_file_set_ctime(PakfireFile file, time_t time);
+time_t pakfire_file_get_mtime(PakfireFile file);
+void pakfire_file_set_mtime(PakfireFile file, time_t time);
const char* pakfire_file_get_chksum(PakfireFile file);
void pakfire_file_set_chksum(PakfireFile file, const char* chksum);