Misc fixes
This commit is contained in:
@@ -103,7 +103,7 @@ void FileNode_SetStatusRec(FileNode fileNode, FileStatus status) {
|
|||||||
fileNode->flags |= FileFlag_HasTime;
|
fileNode->flags |= FileFlag_HasTime;
|
||||||
}
|
}
|
||||||
fileNodeChild = fileNode->child;
|
fileNodeChild = fileNode->child;
|
||||||
while (fileNodeChild != NULL) {
|
while (fileNodeChild) {
|
||||||
FileNode_SetStatusRec(fileNodeChild, status);
|
FileNode_SetStatusRec(fileNodeChild, status);
|
||||||
fileNodeChild = fileNodeChild->next;
|
fileNodeChild = fileNodeChild->next;
|
||||||
}
|
}
|
||||||
@@ -281,7 +281,7 @@ FileNode FileNode_LoadNode(FILE *file) {
|
|||||||
// Read flags
|
// Read flags
|
||||||
fread((void *)&fileNode->flags, sizeof(fileNode->flags), 1, file);
|
fread((void *)&fileNode->flags, sizeof(fileNode->flags), 1, file);
|
||||||
|
|
||||||
// Leer estado
|
// Read status
|
||||||
fileNode->status = fgetc(file);
|
fileNode->status = fgetc(file);
|
||||||
|
|
||||||
// Read status
|
// Read status
|
||||||
@@ -292,6 +292,9 @@ FileNode FileNode_LoadNode(FILE *file) {
|
|||||||
// Read date
|
// Read date
|
||||||
if (fileNode->flags & FileFlag_HasTime) {
|
if (fileNode->flags & FileFlag_HasTime) {
|
||||||
fread((void *)&fileNode->fileTime, sizeof(fileNode->fileTime), 1, file);
|
fread((void *)&fileNode->fileTime, sizeof(fileNode->fileTime), 1, file);
|
||||||
|
if (fileNode->fileTime < 0) {
|
||||||
|
fileNode->fileTime = Time_GetTime();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read CRC
|
// Read CRC
|
||||||
@@ -496,6 +499,9 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
|
|||||||
if (fileTime != fileNode->fileTime) {
|
if (fileTime != fileNode->fileTime) {
|
||||||
fileNode->status = FileStatus_Modified;
|
fileNode->status = FileStatus_Modified;
|
||||||
fileNode->fileTime = fileTime;
|
fileNode->fileTime = fileTime;
|
||||||
|
if (fileNode->fileTime < 0) {
|
||||||
|
fileNode->fileTime = Time_GetTime();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mark childs for review
|
// Mark childs for review
|
||||||
@@ -533,6 +539,9 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
|
|||||||
if (fileTime != fileNode->fileTime) {
|
if (fileTime != fileNode->fileTime) {
|
||||||
fileNode->status = FileStatus_Modified;
|
fileNode->status = FileStatus_Modified;
|
||||||
fileNode->fileTime = fileTime;
|
fileNode->fileTime = fileTime;
|
||||||
|
if (fileNode->fileTime < 0) {
|
||||||
|
fileNode->fileTime = Time_GetTime();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (fileNode->status == FileStatus_Modified) {
|
if (fileNode->status == FileStatus_Modified) {
|
||||||
fileNode->flags &= ~FileFlag_HasCRC;
|
fileNode->flags &= ~FileFlag_HasCRC;
|
||||||
@@ -550,7 +559,7 @@ int FileNode_Refresh_Iterate(char *path, char *name, void *d) {
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Searcg the file on childs
|
// Search the file on childs
|
||||||
fileNodeChild = fileNode->child;
|
fileNodeChild = fileNode->child;
|
||||||
while (fileNodeChild) {
|
while (fileNodeChild) {
|
||||||
if (!strcmp(fileNodeChild->name, name)) {
|
if (!strcmp(fileNodeChild->name, name)) {
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ int main(int argc, char *argv[]) {
|
|||||||
FileNode_Save(fileNode, argv[3]);
|
FileNode_Save(fileNode, argv[3]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!strcmp(argv[1], "read") && argc == 3) {
|
else if (!strcmp(argv[1], "read") && argc >= 3) {
|
||||||
// Read information tree from file
|
// Read information tree from file
|
||||||
FileNode fileNode;
|
FileNode fileNode;
|
||||||
fileNode = FileNode_Load(argv[2]);
|
fileNode = FileNode_Load(argv[2]);
|
||||||
|
|||||||
Reference in New Issue
Block a user