Translate remaining comments

This commit is contained in:
2015-10-07 23:43:13 +02:00
parent 9346177c25
commit 11b9447963
2 changed files with 42 additions and 47 deletions

View File

@@ -86,7 +86,7 @@ void FileNode_GetPath_Rec(FileNode *fileNode, char **pathnode) {
} }
char temppath[MaxPath]; char temppath[MaxPath];
char *FileNode_GetPath(FileNode *fileNode, char *path) { char *FileNode_GetPath(FileNode *fileNode, char *path) {
char *pathnodes[128]; char *pathnodes[MaxPath];
int levels, i; int levels, i;
char *pathptr = temppath; char *pathptr = temppath;
if (path) { pathptr = path; } if (path) { pathptr = path; }
@@ -106,7 +106,7 @@ char *FileNode_GetPath(FileNode *fileNode, char *path) {
} }
char *FileNode_GetFullPath(FileNode *fileNode, char *basePath, char *path) { char *FileNode_GetFullPath(FileNode *fileNode, char *basePath, char *path) {
char *pathnodes[128]; char *pathnodes[MaxPath];
int levels, i; int levels, i;
char *pathptr = temppath; char *pathptr = temppath;
if (path) if (path)
@@ -271,7 +271,7 @@ FileNode *FileNode_LoadNode(FILE *file) {
for (i = 0; i < fileNode->childCount; i++) { for (i = 0; i < fileNode->childCount; i++) {
fileNodeChild = FileNode_LoadNode(file); fileNodeChild = FileNode_LoadNode(file);
if (fileNodeChild == NULL) { if (fileNodeChild == NULL) {
// FIXME: Clean memory (fileNode, fileNodeChild etc) FileNode_Delete(fileNode);
return NULL; return NULL;
} }
fileNodeChild->parent = fileNode; fileNodeChild->parent = fileNode;
@@ -424,7 +424,7 @@ int FileNode_Refresh_Iterate(char *path, char *name, void *d);
FileNode *FileNode_Refresh(FileNode *fileNode, char *filePath) { FileNode *FileNode_Refresh(FileNode *fileNode, char *filePath) {
if (!File_ExistsPath(filePath)) { if (!File_ExistsPath(filePath)) {
// El fichero/directorio ha sido borrado // The file/directory has been deleted
if (!fileNode) { if (!fileNode) {
fileNode = FileNode_Create(); fileNode = FileNode_Create();
File_GetName(filePath, fileNode->name); File_GetName(filePath, fileNode->name);
@@ -433,24 +433,23 @@ FileNode *FileNode_Refresh(FileNode *fileNode, char *filePath) {
return (fileNode); return (fileNode);
} }
if (!fileNode) { if (!fileNode) {
// El fichero ha sido creado // The file has been created
fileNode = FileNode_Build(filePath); fileNode = FileNode_Build(filePath);
FileNode_SetStatusRec(fileNode, FileStatus_New); FileNode_SetStatusRec(fileNode, FileStatus_New);
} }
else { else {
// Comprobar si ha sido modificado // Check modification
FileTime fileTime; FileTime fileTime;
long long size; long long size;
// Marcar normal // Mark
fileNode->status = FileStatus_None; fileNode->status = FileStatus_None;
fileNode->flags &= ~FileFlag_MarkerForReview; fileNode->flags &= ~FileFlag_MarkerForReview;
// Determinar si es un fichero o directorio
if (File_IsDirectory(filePath)) { if (File_IsDirectory(filePath)) {
FileNode *fileNodeChild; FileNode *fileNodeChild;
// Comparar datos de los directorios // Check directory data
if (!(fileNode->flags & FileFlag_Directory)) { if (!(fileNode->flags & FileFlag_Directory)) {
fileNode->status = FileStatus_Modified; fileNode->status = FileStatus_Modified;
fileNode->flags |= FileFlag_Directory; fileNode->flags |= FileFlag_Directory;
@@ -462,17 +461,17 @@ FileNode *FileNode_Refresh(FileNode *fileNode, char *filePath) {
fileNode->fileTime = fileTime; fileNode->fileTime = fileTime;
} }
// Marcar hijos para determinar cual es actualizado // Mark childs for review
fileNodeChild = fileNode->child; fileNodeChild = fileNode->child;
while (fileNodeChild) { while (fileNodeChild) {
fileNodeChild->flags |= FileFlag_MarkerForReview; fileNodeChild->flags |= FileFlag_MarkerForReview;
fileNodeChild = fileNodeChild->next; fileNodeChild = fileNodeChild->next;
} }
// Escanear subdirectorios // Scan subdirectories
File_IterateDir(filePath, FileNode_Refresh_Iterate, fileNode); File_IterateDir(filePath, FileNode_Refresh_Iterate, fileNode);
// Buscar que sigan marcados (borrados) // Mark as deleted remaining files marked for review
fileNodeChild = fileNode->child; fileNodeChild = fileNode->child;
while (fileNodeChild) { while (fileNodeChild) {
if (fileNodeChild->flags & FileFlag_MarkerForReview) { if (fileNodeChild->flags & FileFlag_MarkerForReview) {
@@ -514,7 +513,7 @@ int FileNode_Refresh_Iterate(char *path, char *name, void *d) {
return (0); return (0);
} }
// Buscar el fichero entre los del arbol // Searcg the file on childs
fileNodeChild = fileNode->child; fileNodeChild = fileNode->child;
while (fileNodeChild) { while (fileNodeChild) {
if (!strcmp(fileNodeChild->name, name)) { if (!strcmp(fileNodeChild->name, name)) {
@@ -523,11 +522,11 @@ int FileNode_Refresh_Iterate(char *path, char *name, void *d) {
fileNodeChild = fileNodeChild->next; fileNodeChild = fileNodeChild->next;
} }
if (fileNodeChild) { if (fileNodeChild) {
// Existe, refrescar // Exists, Refresh
FileNode_Refresh(fileNodeChild, path); FileNode_Refresh(fileNodeChild, path);
} }
else { else {
// Nuevo, construir // New, Build
fileNodeChild = FileNode_Refresh(NULL, path); fileNodeChild = FileNode_Refresh(NULL, path);
FileNode_AddChild(fileNode, fileNodeChild); FileNode_AddChild(fileNode, fileNodeChild);
} }

View File

@@ -13,31 +13,31 @@ int maxDeltaTime = 4000;
#define QueueNode(queue,node) (queue)->next = node; (queue) = node; #define QueueNode(queue,node) (queue)->next = node; (queue) = node;
ActionFileNode *_actionFileNodeFree = NULL; ActionFileNode *_actionFileNodeFree = NULL;
#define AccionFileNode_Tocho 1024 #define AccionFileNode_Block 1024
ActionFileNode *ActionFileNode_Create() { ActionFileNode *ActionFileNode_Create() {
ActionFileNode *actionFileNode; ActionFileNode *actionFileNode;
if (_actionFileNodeFree == NULL) { if (_actionFileNodeFree == NULL) {
ActionFileNode *actionFileNodeFreeAux; ActionFileNode *actionFileNodeFreeAux;
int i; int i;
// Reservar un tocho // Allocate block
actionFileNodeFreeAux = malloc( actionFileNodeFreeAux = malloc(
sizeof(ActionFileNode) * AccionFileNode_Tocho); sizeof(ActionFileNode) * AccionFileNode_Block);
if (actionFileNodeFreeAux == NULL) { if (actionFileNodeFreeAux == NULL) {
return NULL; return NULL;
} }
for (i = 0; i < AccionFileNode_Tocho - 1; i++) { for (i = 0; i < AccionFileNode_Block - 1; i++) {
actionFileNodeFreeAux[i].next = &actionFileNodeFreeAux[i + 1]; actionFileNodeFreeAux[i].next = &actionFileNodeFreeAux[i + 1];
} }
actionFileNodeFreeAux[AccionFileNode_Tocho - 1].next = NULL; actionFileNodeFreeAux[AccionFileNode_Block - 1].next = NULL;
_actionFileNodeFree = &actionFileNodeFreeAux[0]; _actionFileNodeFree = &actionFileNodeFreeAux[0];
} }
// Obtener el primero libre // Get the first free
actionFileNode = _actionFileNodeFree; actionFileNode = _actionFileNodeFree;
_actionFileNodeFree = actionFileNode->next; _actionFileNodeFree = actionFileNode->next;
// Iniciar // Initialize
actionFileNode->action = ActionFileCmp_Nothing; actionFileNode->action = ActionFileCmp_Nothing;
actionFileNode->left = NULL; actionFileNode->left = NULL;
actionFileNode->right = NULL; actionFileNode->right = NULL;
@@ -161,13 +161,13 @@ void AccionFileNode_DeletePair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
} }
if (!fileNodeLeft && fileNodeRight) { if (!fileNodeLeft && fileNodeRight) {
if (fileNodeRight->flags & FileFlag_Directory) { if (fileNodeRight->flags & FileFlag_Directory) {
// Iterar hijos para borrarlos // Iterate childs for deletion
AccionFileNode_CompareChilds(actionFileNodeNew, actionFileNodeQueue, AccionFileNode_CompareChilds(actionFileNodeNew, actionFileNodeQueue,
AccionFileNode_DeletePair); AccionFileNode_DeletePair);
} }
if (fileNodeRight->status != FileStatus_Deleted) { if (fileNodeRight->status != FileStatus_Deleted) {
// Accion de borrado para el nodo // Node delete action
actionFileNodeNew->action = ActionFileCmp_DeleteRight; actionFileNodeNew->action = ActionFileCmp_DeleteRight;
QueueNode(*actionFileNodeQueue, actionFileNodeNew); QueueNode(*actionFileNodeQueue, actionFileNodeNew);
} }
@@ -177,13 +177,13 @@ void AccionFileNode_DeletePair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
} }
if (fileNodeLeft && !fileNodeRight) { if (fileNodeLeft && !fileNodeRight) {
if (fileNodeLeft->flags & FileFlag_Directory) { if (fileNodeLeft->flags & FileFlag_Directory) {
// Iterar hijos para borrarlos // Iterate childs for deletion
AccionFileNode_CompareChilds(actionFileNodeNew, actionFileNodeQueue, AccionFileNode_CompareChilds(actionFileNodeNew, actionFileNodeQueue,
AccionFileNode_DeletePair); AccionFileNode_DeletePair);
} }
if (fileNodeLeft->status != FileStatus_Deleted) { if (fileNodeLeft->status != FileStatus_Deleted) {
// Accion de borrado para el nodo // Node delete action
actionFileNodeNew->action = ActionFileCmp_DeleteLeft; actionFileNodeNew->action = ActionFileCmp_DeleteLeft;
QueueNode(*actionFileNodeQueue, actionFileNodeNew); QueueNode(*actionFileNodeQueue, actionFileNodeNew);
} }
@@ -194,15 +194,15 @@ void AccionFileNode_DeletePair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
if (fileNodeLeft && fileNodeRight) { if (fileNodeLeft && fileNodeRight) {
if ((fileNodeLeft->flags & FileFlag_Directory) if ((fileNodeLeft->flags & FileFlag_Directory)
|| (fileNodeRight->flags & FileFlag_Directory)) { || (fileNodeRight->flags & FileFlag_Directory)) {
// Alguno es directorio // One is Directory
// Iterar hijos para borrarlos // Iterate childs for deletion
AccionFileNode_CompareChilds(actionFileNodeNew, actionFileNodeQueue, AccionFileNode_CompareChilds(actionFileNodeNew, actionFileNodeQueue,
AccionFileNode_DeletePair); AccionFileNode_DeletePair);
} }
if (fileNodeLeft->status != FileStatus_Deleted) { if (fileNodeLeft->status != FileStatus_Deleted) {
// Accion de borrado para el nodo izquierdo // Left node delete action
actionFileNodeNew->action = ActionFileCmp_DeleteLeft; actionFileNodeNew->action = ActionFileCmp_DeleteLeft;
QueueNode(*actionFileNodeQueue, actionFileNodeNew); QueueNode(*actionFileNodeQueue, actionFileNodeNew);
actionFileNodeNew = NULL; actionFileNodeNew = NULL;
@@ -212,7 +212,7 @@ void AccionFileNode_DeletePair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
actionFileNodeNew = ActionFileNode_CreateNormal(fileNodeLeft, actionFileNodeNew = ActionFileNode_CreateNormal(fileNodeLeft,
fileNodeRight); fileNodeRight);
} }
// Accion de borrado para el nodo derecho // Right node delete action
actionFileNodeNew->action = ActionFileCmp_DeleteRight; actionFileNodeNew->action = ActionFileCmp_DeleteRight;
QueueNode(*actionFileNodeQueue, actionFileNodeNew); QueueNode(*actionFileNodeQueue, actionFileNodeNew);
actionFileNodeNew = NULL; actionFileNodeNew = NULL;
@@ -243,11 +243,11 @@ void AccionFileNode_CheckPair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
actionFileNodeNew->action = ActionFileCmp_MakeLeftDirectory; actionFileNodeNew->action = ActionFileCmp_MakeLeftDirectory;
QueueNode(*actionFileNodeQueue, actionFileNodeNew); QueueNode(*actionFileNodeQueue, actionFileNodeNew);
// Iterar hijos // Iterate childs
AccionFileNode_CompareChilds(actionFileNodeNew, AccionFileNode_CompareChilds(actionFileNodeNew,
actionFileNodeQueue, AccionFileNode_CheckPair); actionFileNodeQueue, AccionFileNode_CheckPair);
// Crear nueva accion para copiar la fecha // Creatre new action for date copy
actionFileNodeNew = ActionFileNode_CreateNormal(fileNodeLeft, actionFileNodeNew = ActionFileNode_CreateNormal(fileNodeLeft,
fileNodeRight); fileNodeRight);
actionFileNodeNew->action = ActionFileCmp_DateRightToLeft; actionFileNodeNew->action = ActionFileCmp_DateRightToLeft;
@@ -276,11 +276,11 @@ void AccionFileNode_CheckPair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
actionFileNodeNew->action = ActionFileCmp_MakeRightDirectory; actionFileNodeNew->action = ActionFileCmp_MakeRightDirectory;
QueueNode(*actionFileNodeQueue, actionFileNodeNew); QueueNode(*actionFileNodeQueue, actionFileNodeNew);
// Iterar hijos // Iterate childs
AccionFileNode_CompareChilds(actionFileNodeNew, AccionFileNode_CompareChilds(actionFileNodeNew,
actionFileNodeQueue, AccionFileNode_CheckPair); actionFileNodeQueue, AccionFileNode_CheckPair);
// Crear nueva accion para copiar la fecha // Create new action for date copy
actionFileNodeNew = ActionFileNode_CreateNormal(fileNodeLeft, actionFileNodeNew = ActionFileNode_CreateNormal(fileNodeLeft,
fileNodeRight); fileNodeRight);
actionFileNodeNew->action = ActionFileCmp_DateLeftToRight; actionFileNodeNew->action = ActionFileCmp_DateLeftToRight;
@@ -301,9 +301,9 @@ void AccionFileNode_CheckPair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
if (fileNodeLeft && fileNodeRight) { if (fileNodeLeft && fileNodeRight) {
if ((fileNodeLeft->flags & FileFlag_Directory) if ((fileNodeLeft->flags & FileFlag_Directory)
&& (fileNodeRight->flags & FileFlag_Directory)) { && (fileNodeRight->flags & FileFlag_Directory)) {
// Directorios // Directory
// Preparar accion para el par de directorios // Prepare action for directory pair
if (abs((int)(fileNodeLeft->fileTime - fileNodeRight->fileTime)) <= maxDeltaTime) { // appoximadamente iguales if (abs((int)(fileNodeLeft->fileTime - fileNodeRight->fileTime)) <= maxDeltaTime) { // appoximadamente iguales
if (fileNodeRight->status == FileStatus_Deleted if (fileNodeRight->status == FileStatus_Deleted
&& fileNodeLeft->status == FileStatus_Deleted) { && fileNodeLeft->status == FileStatus_Deleted) {
@@ -344,12 +344,12 @@ void AccionFileNode_CheckPair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
} }
} }
// Procesar nodos hijos // Process child nodes
if (actionFileNodeNew->action == ActionFileCmp_DeleteRight if (actionFileNodeNew->action == ActionFileCmp_DeleteRight
|| actionFileNodeNew->action == ActionFileCmp_DeleteLeft || actionFileNodeNew->action == ActionFileCmp_DeleteLeft
|| (fileNodeLeft->status == FileStatus_Deleted || (fileNodeLeft->status == FileStatus_Deleted
&& fileNodeRight->status == FileStatus_Deleted)) { && fileNodeRight->status == FileStatus_Deleted)) {
// Iterar nodos hijos para borrarlos // Iterate child nodes for deletion
AccionFileNode_CompareChilds(actionFileNodeNew, AccionFileNode_CompareChilds(actionFileNodeNew,
actionFileNodeQueue, AccionFileNode_DeletePair); actionFileNodeQueue, AccionFileNode_DeletePair);
} }
@@ -361,10 +361,10 @@ void AccionFileNode_CheckPair(FileNode *fileNodeLeft, FileNode *fileNodeRight,
} }
else if ((fileNodeLeft->flags & FileFlag_Normal) else if ((fileNodeLeft->flags & FileFlag_Normal)
&& (fileNodeRight->flags & FileFlag_Normal)) { && (fileNodeRight->flags & FileFlag_Normal)) {
// Ficheros // Files
// Preparar accion para el par de ficheros // Prepare action for file pair
if (abs((int)(fileNodeLeft->fileTime - fileNodeRight->fileTime)) <= maxDeltaTime) { // appoximadamente iguales if (abs((int)(fileNodeLeft->fileTime - fileNodeRight->fileTime)) <= maxDeltaTime) { // aprox. equal
if (fileNodeRight->status == FileStatus_Deleted if (fileNodeRight->status == FileStatus_Deleted
&& fileNodeLeft->status == FileStatus_Deleted) { && fileNodeLeft->status == FileStatus_Deleted) {
actionFileNodeNew->action = ActionFileCmp_Nothing; actionFileNodeNew->action = ActionFileCmp_Nothing;
@@ -650,9 +650,11 @@ void ActionFileNode_RunList(ActionFileNode *actionFileNode, char *pathLeft,
while (actionFileNode != NULL) { while (actionFileNode != NULL) {
if (actionFileNode->left) { if (actionFileNode->left) {
FileNode_GetFullPath(actionFileNode->left, pathLeft, fullPathLeft); FileNode_GetFullPath(actionFileNode->left, pathLeft, fullPathLeft);
FileNode_GetFullPath(actionFileNode->left, "", showPath);
} }
else { else {
FileNode_GetFullPath(actionFileNode->right, pathLeft, fullPathLeft); FileNode_GetFullPath(actionFileNode->right, pathLeft, fullPathLeft);
FileNode_GetFullPath(actionFileNode->right, "", showPath);
} }
if (actionFileNode->right) { if (actionFileNode->right) {
FileNode_GetFullPath(actionFileNode->right, pathRight, FileNode_GetFullPath(actionFileNode->right, pathRight,
@@ -662,12 +664,6 @@ void ActionFileNode_RunList(ActionFileNode *actionFileNode, char *pathLeft,
FileNode_GetFullPath(actionFileNode->left, pathRight, FileNode_GetFullPath(actionFileNode->left, pathRight,
fullPathRight); fullPathRight);
} }
if (actionFileNode->left) {
FileNode_GetFullPath(actionFileNode->left, "", showPath);
}
else {
FileNode_GetFullPath(actionFileNode->right, "", showPath);
}
switch (actionFileNode->action) { switch (actionFileNode->action) {
case ActionFileCmp_Nothing: case ActionFileCmp_Nothing: