static void _set_message_time(char *dir, char *filename, time_t timestamp) { char *cwd = NULL; int rc = 0; cwd = sys_getcwd(); if (cwd == NULL) { perror("_set_message_time (sys_getcwd)"); return; } rc = sys_chdir(dir); if (rc != 0) { perror("_set_message_time (sys_chdir)"); return; } sys_set_time(filename, timestamp); sys_chdir(cwd); free(cwd); cwd = NULL; }
int sys_set_filetime(char *filename, filetime_t filetime) { filetime_t t = (filetime - JAN1ST1970) / ((unsigned long long) (NSPERSEC / 100)); return sys_set_time(filename, (time_t)t); }