]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
BUGFIX: en idx habia que hacer el for hasta cant y no cant-1, ahora parece que camina...
authorNicolás Dimov <ndimov@gmail.com>
Sun, 11 Apr 2004 06:57:12 +0000 (06:57 +0000)
committerNicolás Dimov <ndimov@gmail.com>
Sun, 11 Apr 2004 06:57:12 +0000 (06:57 +0000)
emufs/idx.c
emufs/tipo3_main.c

index 49447d7c7a640df31f9897343fa6b0f08f5d7dfb..1ae3190a2f9c227776417e4bbdadc219e550d3fa 100644 (file)
@@ -165,7 +165,7 @@ int emufs_idx_borrar(EMUFS *emu, EMUFS_REG_ID idreg)
        FILE *f_idx;
        EMUFS_IDX reg;
        char name_f_idx[255];
-       long actual, final, cant, i, tam, a;
+       long actual, final, cant, i, tam;
        
        strcpy(name_f_idx,emu->nombre);
        strcat(name_f_idx, EMUFS_IDX_EXT);
@@ -190,7 +190,7 @@ int emufs_idx_borrar(EMUFS *emu, EMUFS_REG_ID idreg)
        cant = (final-actual)/sizeof(EMUFS_IDX);
        /*apunto al siguiente del que quiero borrar*/
        /*leo todos los que quedan*/
-       for(i=0; i<cant-1; i++) {
+       for(i=0; i<cant; i++) {
                final = actual + sizeof(EMUFS_IDX);
                fseek(f_idx, final, SEEK_SET);
                fread(&reg, sizeof(EMUFS_IDX), 1, f_idx);
@@ -221,4 +221,3 @@ EMUFS_REG_ID emufs_idx_get_new_id(EMUFS* efs, int* err)
        }
        return id;      
 }
-
index 940931aa89533f116fecb6fad9a2dc62cebb605e..394b3e4e7c9a7dfb0f1dc4c7b428f72d73e9cf5e 100644 (file)
@@ -76,9 +76,7 @@ int main(int argc, char *argv[])
        fp = emufs_crear("articulos", T3, atoi(argv[1]), 100);
 
        n1 = fp->grabar_registro(fp, a, 100, &err);
-
        n2 = fp->grabar_registro(fp, c, 100, &err);
-
        n3 = fp->grabar_registro(fp, d, 100, &err);
        n4 = fp->grabar_registro(fp, e, 100, &err);
        n5 = fp->grabar_registro(fp, f, 100, &err);
@@ -88,9 +86,11 @@ int main(int argc, char *argv[])
 
     ver_archivo_FS(fp);
 
-       fp->borrar_registro(fp, n3);
-       printf("borre el registro de id = %lu\n",n3);
-       b_ptr = fp->leer_registro(fp, n2, &reg_size, &err);
+       if ( fp->borrar_registro(fp, n3) == -1) printf("la cague %d\n",n3);
+       if ( fp->borrar_registro(fp, n5) == -1) printf("la cague %d\n",n5);
+       if ( fp->borrar_registro(fp, n7) == -1) printf("la cague %d\n",n7);
+       
+       b_ptr = fp->leer_registro(fp, n4, &reg_size, &err);
 
        printf("Recuperado : %s\n", b_ptr);