Fix time related functions

This commit is contained in:
2015-11-20 07:20:20 +01:00
parent 894f0875d4
commit dd17f91001
4 changed files with 31 additions and 6 deletions

View File

@@ -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) {

View File

@@ -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);
///////////////////////////////////////////////

View File

@@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#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;

View File

@@ -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