Fix FileNode debug printing loop.
Mark delete actions.
This commit is contained in:
@@ -6,10 +6,8 @@ POR HACER
|
|||||||
* GUI
|
* GUI
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HECHO
|
HECHO
|
||||||
=====
|
=====
|
||||||
|
|
||||||
* CRC de ficheros (CRC_File en crc.h)
|
* CRC de ficheros (CRC_File en crc.h)
|
||||||
* Lectura y Escritura de fechas de ficheros (FileTime end fileutil.h)
|
* Lectura y Escritura de fechas de ficheros (FileTime end fileutil.h)
|
||||||
* Utilidades de ficheros (fileutil.h)
|
* Utilidades de ficheros (fileutil.h)
|
||||||
@@ -17,3 +15,4 @@ HECHO
|
|||||||
de cada fichero; crc, fecha, estado (FileNode en filenode.h)
|
de cada fichero; crc, fecha, estado (FileNode en filenode.h)
|
||||||
* Scaneo, construccion y reconstruccion de arboles FileNode, detectando cambios.
|
* Scaneo, construccion y reconstruccion de arboles FileNode, detectando cambios.
|
||||||
* Comparador de FileNodes que genere una lista de AccionFileCmp (filenodecmp.h)
|
* Comparador de FileNodes que genere una lista de AccionFileCmp (filenodecmp.h)
|
||||||
|
|
||||||
|
|||||||
15
filenode.c
15
filenode.c
@@ -295,7 +295,7 @@ void FileNode_PrintNode(FileNode *fn){
|
|||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
|
/*
|
||||||
// Tamanho
|
// Tamanho
|
||||||
if(fn->flags&FileFlag_TieneTamanho){
|
if(fn->flags&FileFlag_TieneTamanho){
|
||||||
printf("\\-Tamanho: %lld\n",fn->size);
|
printf("\\-Tamanho: %lld\n",fn->size);
|
||||||
@@ -310,29 +310,34 @@ void FileNode_PrintNode(FileNode *fn){
|
|||||||
if(fn->flags&FileFlag_TieneCRC){
|
if(fn->flags&FileFlag_TieneCRC){
|
||||||
printf("\\-CRC : [%08X]\n",fn->crc);
|
printf("\\-CRC : [%08X]\n",fn->crc);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FileNode_Print(FileNode *fn){
|
void FileNode_Print(FileNode *fn){
|
||||||
FileNode *fnAux=fn;
|
FileNode *fnAux=fn;
|
||||||
|
int end=0;
|
||||||
|
|
||||||
while(fnAux!=NULL){
|
while(fnAux!=NULL && !end){
|
||||||
|
|
||||||
FileNode_PrintNode(fnAux);
|
FileNode_PrintNode(fnAux);
|
||||||
|
|
||||||
if(fnAux->child){
|
if(fnAux->child){
|
||||||
fnAux=fnAux->child;
|
fnAux=fnAux->child;
|
||||||
}else{
|
}else{
|
||||||
if(fnAux->sig==NULL){
|
while(fnAux->sig==NULL){
|
||||||
fnAux=fnAux->padre;
|
fnAux=fnAux->padre;
|
||||||
if(fnAux==fn){
|
if(fnAux==fn || fnAux==NULL){
|
||||||
|
printf("End\n");
|
||||||
|
end=1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(!end){
|
||||||
fnAux=fnAux->sig;
|
fnAux=fnAux->sig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -68,22 +68,32 @@ void AccionFileNode_CheckPair(
|
|||||||
}
|
}
|
||||||
if(!fnIzq && fnDer){
|
if(!fnIzq && fnDer){
|
||||||
afnNew->accion=AccionFileCmp_DerechaAIzquierda;
|
afnNew->accion=AccionFileCmp_DerechaAIzquierda;
|
||||||
if(fnDer->child){
|
if(fnDer->child && fnDer->estado!=EstadoFichero_Borrado){
|
||||||
doChilds=1;
|
doChilds=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Anular en caso de se operacion nula
|
||||||
|
if(fnDer->estado==EstadoFichero_Borrado){
|
||||||
|
afnNew->accion=AccionFileCmp_Nada;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(fnIzq && !fnDer){
|
if(fnIzq && !fnDer){
|
||||||
afnNew->accion=AccionFileCmp_IzquierdaADerecha;
|
afnNew->accion=AccionFileCmp_IzquierdaADerecha;
|
||||||
if(fnIzq->child){
|
if(fnIzq->child && fnIzq->estado!=EstadoFichero_Borrado){
|
||||||
doChilds=1;
|
doChilds=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Anular en caso de se operacion nula
|
||||||
|
if(fnIzq->estado==EstadoFichero_Borrado){
|
||||||
|
afnNew->accion=AccionFileCmp_Nada;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(fnIzq && fnDer){
|
if(fnIzq && fnDer){
|
||||||
// Realizar comparacion completa
|
// Realizar comparacion completa
|
||||||
if(fnIzq->child){
|
if(fnIzq->child && fnIzq->estado!=EstadoFichero_Borrado){
|
||||||
doChilds=1;
|
doChilds=1;
|
||||||
}
|
}
|
||||||
if(fnIzq->child){
|
if(fnIzq->child && fnDer->estado!=EstadoFichero_Borrado){
|
||||||
doChilds=1;
|
doChilds=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,9 +103,22 @@ void AccionFileNode_CheckPair(
|
|||||||
}else
|
}else
|
||||||
if(fnIzq->ft<fnDer->ft){
|
if(fnIzq->ft<fnDer->ft){
|
||||||
afnNew->accion=AccionFileCmp_DerechaAIzquierda;
|
afnNew->accion=AccionFileCmp_DerechaAIzquierda;
|
||||||
|
if(fnDer->estado==EstadoFichero_Borrado){
|
||||||
|
afnNew->accion=AccionFileCmp_BorrarIzquierda;
|
||||||
|
}
|
||||||
}else
|
}else
|
||||||
if(fnIzq->ft>fnDer->ft){
|
if(fnIzq->ft>fnDer->ft){
|
||||||
afnNew->accion=AccionFileCmp_IzquierdaADerecha;
|
afnNew->accion=AccionFileCmp_IzquierdaADerecha;
|
||||||
|
if(fnIzq->estado==EstadoFichero_Borrado){
|
||||||
|
afnNew->accion=AccionFileCmp_BorrarDerecha;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Anular en caso de se operacion nula
|
||||||
|
if(fnDer->estado==EstadoFichero_Borrado &&
|
||||||
|
fnIzq->estado==EstadoFichero_Borrado)
|
||||||
|
{
|
||||||
|
afnNew->accion=AccionFileCmp_Nada;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user