]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
una pequeña sincronizacion, nada raro
authorNicolás Dimov <ndimov@gmail.com>
Sat, 10 Apr 2004 21:29:16 +0000 (21:29 +0000)
committerNicolás Dimov <ndimov@gmail.com>
Sat, 10 Apr 2004 21:29:16 +0000 (21:29 +0000)
emufs/tipo3.c
emufs/tipo3.h
emufs/tipo3_main.c

index 601d3df0abbbceb4b955c9f13fa600e400f49a41..1170f28752a3be3d6c61638f53e181f9ca5175ac 100644 (file)
@@ -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);
        
index d3255439985ae89594b33f9b58ae195e16476bdf..346c3c21658f623d58892dee88d1c654e32445f9 100644 (file)
@@ -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_ */
index 4dcdf42c7e9d999b9b30cd02836bee2d5a1194f5..e475097515b48830c36303beff1104813c8a571f 100644 (file)
@@ -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);