From: Nicolás Dimov Date: Sat, 10 Apr 2004 21:29:16 +0000 (+0000) Subject: una pequeña sincronizacion, nada raro X-Git-Tag: svn_import_r684~572 X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/commitdiff_plain/3283ff57869dd9ea293c86cd7bfbcbbe1e920f8a?ds=inline una pequeña sincronizacion, nada raro --- diff --git a/emufs/tipo3.c b/emufs/tipo3.c index 601d3df..1170f28 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -151,14 +151,12 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE t /*tengo que buscar la cantidad de bloques que existen*/ /*me paro al principio salteando el encabezado del archivo*/ fseek(file, 0, SEEK_END); /* Me paro al final */ - /* FIXME FIXME FIXME FALTA TRADUCIR A EMUFS_XXXX */ - cant = (ftell(file)-(sizeof(int)*2+sizeof(char))) / emu->tam_bloque; + cant = (ftell(file)-(sizeof(EMUFS_TYPE)+sizeof(EMUFS_REG_SIZE)+sizeof(EMUFS_BLOCK_SIZE))) / emu->tam_bloque; cant--; /* Resto uno porque el numero de bloque debe empezar en 0 */ fclose(file); num_bloque = cant; /* grabo el nuevo registro en el archivo de espacios libres */ - /* FIXME FIXME FIXME FALTA TRADUCIR A EMUFS_XXXX */ - if ( emufs_fsc_agregar(emu, num_bloque, emu->tam_bloque - emu->tam_reg - sizeof(int)) != 0 ) { + if ( emufs_fsc_agregar(emu, num_bloque, emu->tam_bloque - emu->tam_reg - sizeof(EMUFS_REG_ID)) != 0 ) { free(bloque); return -1; } @@ -182,8 +180,7 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE t return -1; /* se produjo un error */ } /*actualizo el archivo de espacios libres*/ - /* FIXME FIXME FIXME FALTA TRADUCIR A EMUFS_XXXX */ - if ( emufs_fsc_actualizar(emu, num_bloque, fs - emu->tam_reg - sizeof(int)) != 0 ){ + if ( emufs_fsc_actualizar(emu, num_bloque, fs - emu->tam_reg - sizeof(EMUFS_REG_ID)) != 0 ){ free(bloque); return -1; } @@ -220,7 +217,7 @@ int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, EMUFS_BLOCK_ID num) if ( (file = fopen(name_f,"r+"))==NULL ) return -1; /*ERROR*/ /* Salto el header del archivo */ - fseek(file, sizeof(char)+sizeof(int)*2, SEEK_SET); + fseek(file, sizeof(EMUFS_TYPE)+sizeof(EMUFS_REG_SIZE)+sizeof(EMUFS_BLOCK_SIZE), SEEK_SET); fseek(file, num*emu->tam_bloque, SEEK_CUR); fwrite(ptr, emu->tam_bloque, 1, file); diff --git a/emufs/tipo3.h b/emufs/tipo3.h index d325543..346c3c2 100644 --- a/emufs/tipo3.h +++ b/emufs/tipo3.h @@ -59,10 +59,10 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE); /** Graba el bloque apuntado por \param ptr en el archivo */ int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, EMUFS_BLOCK_ID num_bloque); +int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID id_reg); + EMUFS_REG_ID emufs_tipo3_get_id(EMUFS *emu); int emufs_tipo3_buscar_registro(EMUFS *emu, EMUFS_REG_ID id_reg); -int emufs_tipo3_borrar_registro(EMUFS *emu, EMUFS_REG_ID id_reg); - #endif /* _EMUFS_TIPO3_H_ */ diff --git a/emufs/tipo3_main.c b/emufs/tipo3_main.c index 4dcdf42..e475097 100644 --- a/emufs/tipo3_main.c +++ b/emufs/tipo3_main.c @@ -73,9 +73,11 @@ int main(int argc, char *argv[]) strcpy(i, "me argrego despues de borrar a un registro"); fp = emufs_crear("articulos", T3, atoi(argv[1]), 100); - +printf("pase0\n"); n1 = fp->grabar_registro(fp, a, 100); +printf("pase1\n"); n2 = fp->grabar_registro(fp, c, 100); +printf("pase2\n"); /*n3 = fp->grabar_registro(fp, d, 100); n4 = fp->grabar_registro(fp, e, 100); n5 = fp->grabar_registro(fp, f, 100); @@ -94,12 +96,14 @@ int main(int argc, char *argv[]) /*fp->borrar_registro(fp, n4, 100); fp->borrar_registro(fp, n2, 100); fp->borrar_registro(fp, n6, 100);*/ + printf("pase00\n"); + fp->borrar_registro(fp, n1); printf("borre el registro de id = %lu\n",n1); b_ptr = fp->leer_registro(fp, n2, &err); printf("Recuperado : %s\n", b_ptr); - +printf("pase5\n"); free(b_ptr); ver_archivo_FS(fp);