Fix timing issues on FileNode_Build.

This commit is contained in:
2017-07-08 04:33:41 +02:00
parent 60a54a63b2
commit 1122bbb247
2 changed files with 10 additions and 24 deletions

View File

@@ -496,23 +496,19 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
FileNode fileNodeChild;
// Check directory data
if (fileNode->status == FileStatus_Deleted) {
fileNode->status = FileStatus_Modified;
fileNode->fileTime = Time_GetCurrentTime();
}
if (!(fileNode->flags & FileFlag_Directory)) {
fileNode->status = FileStatus_Modified;
fileNode->flags |= FileFlag_Directory;
fileNode->flags &= ~FileFlag_Normal;
}
fileTime = FileTime_Get(filePath);
if (fileTime != fileNode->fileTime) {
if (fileNode->status == FileStatus_Deleted) {
fileNode->status = FileStatus_Modified;
if (fileTime < 0 || fileNode->fileTime > fileTime) {
fileNode->fileTime = Time_GetCurrentTime();
}else{
fileNode->fileTime = fileTime;
}
if (fileTime != fileNode->fileTime) {
fileNode->status = FileStatus_Modified;
fileNode->fileTime = fileTime;
}
// Mark childs for review
@@ -536,10 +532,6 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
}
} else {
// Comprar datos de los ficheros
if (fileNode->status == FileStatus_Deleted) {
fileNode->status = FileStatus_Modified;
fileNode->fileTime = Time_GetCurrentTime();
}
if (!(fileNode->flags & FileFlag_Normal)) {
fileNode->status = FileStatus_Modified;
fileNode->flags |= FileFlag_Normal;
@@ -550,13 +542,13 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
fileNode->status = FileStatus_Modified;
fileNode->size = size;
}
if (fileTime != fileNode->fileTime) {
if (fileNode->status == FileStatus_Deleted) {
fileNode->status = FileStatus_Modified;
if (fileTime < 0 || fileNode->fileTime > fileTime) {
fileNode->fileTime = Time_GetCurrentTime();
}else{
fileNode->fileTime = fileTime;
}
if (fileTime != fileNode->fileTime) {
fileNode->status = FileStatus_Modified;
fileNode->fileTime = fileTime;
}
if (fileNode->status == FileStatus_Modified) {
fileNode->flags &= ~FileFlag_HasCRC;

View File

@@ -18,16 +18,10 @@ echo:Uno> %testDir%.A\Uno.txt
echo:Dos> %testDir%.A\Dos.txt
..\filesync.exe sync %testDir%.A %testDir%.B >> %testDir%.txt
..\filesync.exe read %testDir%.A/nodesFile.fs >> %testDir%.txt
..\filesync.exe read %testDir%.B/nodesFile.fs >> %testDir%.txt
md %testDir%.A\dirUno
move %testDir%.A\Uno.txt %testDir%.A\dirUno\Uno.txt >NUL
..\filesync.exe sync %testDir%.A %testDir%.B >> %testDir%.txt
..\filesync.exe read %testDir%.A/nodesFile.fs >> %testDir%.txt
..\filesync.exe read %testDir%.B/nodesFile.fs >> %testDir%.txt
ping 127.0.0.1 -n 2 > nul
move %testDir%.A\dirUno\Uno.txt %testDir%.A\Uno.txt >NUL