From dd17f91001d83bf5376f1f8f0dcdbe225771948e Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Fri, 20 Nov 2015 07:20:20 +0100 Subject: [PATCH] Fix time related functions --- src/filenode.c | 8 ++++---- src/fileutil.h | 10 ++++++++++ src/util.c | 13 +++++++++++-- src/util.h | 6 ++++++ 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/filenode.c b/src/filenode.c index ee4b0b1..fc8f098 100644 --- a/src/filenode.c +++ b/src/filenode.c @@ -98,7 +98,7 @@ void FileNode_AddChild(FileNode fileNode, FileNode fileNodeChild) { void FileNode_SetStatusRec(FileNode fileNode, FileStatus status) { FileNode fileNodeChild; if (status == FileStatus_Deleted && fileNode->status != status) { - fileNode->fileTime = Time_GetTime(); + fileNode->fileTime = Time_GetCurrentTime(); fileNode->flags |= FileFlag_HasTime; } fileNode->status = status; @@ -293,7 +293,7 @@ FileNode FileNode_LoadNode(FILE *file) { if (fileNode->flags & FileFlag_HasTime) { fread((void *)&fileNode->fileTime, sizeof(fileNode->fileTime), 1, file); if (fileNode->fileTime < 0) { - fileNode->fileTime = Time_GetTime(); + fileNode->fileTime = Time_GetCurrentTime(); } } @@ -499,7 +499,7 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) { fileNode->status = FileStatus_Modified; fileNode->fileTime = fileTime; if (fileNode->fileTime < 0) { - fileNode->fileTime = Time_GetTime(); + fileNode->fileTime = Time_GetCurrentTime(); } } @@ -539,7 +539,7 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) { fileNode->status = FileStatus_Modified; fileNode->fileTime = fileTime; if (fileNode->fileTime < 0) { - fileNode->fileTime = Time_GetTime(); + fileNode->fileTime = Time_GetCurrentTime(); } } if (fileNode->status == FileStatus_Modified) { diff --git a/src/fileutil.h b/src/fileutil.h index 157b9ac..f2d4699 100644 --- a/src/fileutil.h +++ b/src/fileutil.h @@ -6,8 +6,18 @@ typedef long long FileTime; +///////////////////////////// +// FileTime_Get +// +// Gets the current time in POSIX. FileTime FileTime_Get(char *filename); + +///////////////////////////// +// FileTime_Set +// +// Sets the current time in POSIX. void FileTime_Set(char *filename, FileTime t); + void FileTime_Print(FileTime t); /////////////////////////////////////////////// diff --git a/src/util.c b/src/util.c index 7b7a470..12123aa 100644 --- a/src/util.c +++ b/src/util.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "util.h" @@ -22,7 +23,7 @@ char *String_Copy(char *str) { ///////////////////////////// // Time_GetTime // -// Gets the current time in usecs. WIN32 version. +// Gets the time in usecs. WIN32 version. long long Time_GetTime() { LARGE_INTEGER freq; LARGE_INTEGER tim; @@ -58,7 +59,7 @@ void Time_Pause(int pausa) { ///////////////////////////// // Time_GetTime // -// Gets the current time in usecs. UNIX version. +// Gets the time in usecs. UNIX version. long long Time_GetTime() { struct timeval t; long long usecs; @@ -79,6 +80,14 @@ void Time_Pause(int pausa) { } #endif // if WIN32 +///////////////////////////// +// Time_GetTime +// +// Gets the current time in POSIX. +long long Time_GetCurrentTime() { + time_t t = time(0); + return (long long)t; +} int printff(char *fmt, ...) { va_list ap; diff --git a/src/util.h b/src/util.h index f46aa2c..c2f2e99 100644 --- a/src/util.h +++ b/src/util.h @@ -19,6 +19,12 @@ long long Time_GetTime(); // Pauses the execution for t usecs. void Time_Pause(int pausa); +///////////////////////////// +// Time_GetTime +// +// Gets the current time in POSIX. +long long Time_GetCurrentTime(); + int printff(char *fmt, ...); #endif