From: Ricardo Markiewicz Date: Mon, 5 Apr 2004 23:26:47 +0000 (+0000) Subject: * Algunos controles mas para ver si encontramos el problema X-Git-Tag: svn_import_r684~625 X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/commitdiff_plain/5ead4371e4b51410e101ea5b066399d630028715?ds=inline * Algunos controles mas para ver si encontramos el problema --- diff --git a/tipo3/param_cte.c b/tipo3/param_cte.c index 5ef131f..39919ba 100644 --- a/tipo3/param_cte.c +++ b/tipo3/param_cte.c @@ -21,6 +21,7 @@ int leer_registro(EMUFS *emu, int ID, void *ptr, unsigned long tam_reg) /*si existe, lo busco en el archivo de bloques*/ block = buscar_registro(emu,ID); /*me devuelve el nro de bloque al que pertenece el registro*/ bloque = (char*)malloc(emu->tam_bloque); + printf("Bloque de ID=%d es %d\n", ID, block); if (bloque == NULL) { printf("No hay memoria.\n"); return -1; @@ -33,17 +34,24 @@ int leer_registro(EMUFS *emu, int ID, void *ptr, unsigned long tam_reg) } printf("el bloque leido es: %s\n",bloque+sizeof(int)); - while ( iterador < emu->tam_bloque ){ + ID_aux = -1; + iterador = 0; + while ( iterador < emu->tam_bloque ) { memcpy(&ID_aux, bloque+iterador, sizeof(int)); - printf("ID_aux = %d\n",ID_aux); + printf("ID_aux = %d ... buscando %d\n",ID_aux, ID); iterador += sizeof(int); + printf("Buffer = (%s)\n", bloque+iterador); if ( ID_aux == ID ){ memcpy(ptr,bloque+iterador,tam_reg); break; } iterador += tam_reg; } - printf("reg leido = %s\n",(char*)ptr); + if (ID_aux == ID) { + printf("reg leido = %s\n",(char*)ptr); + } else { + printf("ALGO PASO Y NO PUDE LEER EL REGISTRO!!\n"); + } fclose(f_block_reg); free(bloque); @@ -152,7 +160,7 @@ int grabar_registro(EMUFS *emu, void *ptr, unsigned long tam) /*grabo el registro en el bloque*/ memcpy(bloque+sizeof(int),ptr,tam); /* me paro al final del archivo */ - fseek(file, 0, SEEK_END); + fseek(file, 0, SEEK_END); /* grabo el bloque en el final del archivo */ fwrite(bloque,emu->tam_bloque,1,file); /*actualizo el archivo de espacios libres*/