]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo3.c
por lo pronto parece que anda, hice un par de pruebas y anduvo jamon, pero me queda...
[z.facultad/75.06/emufs.git] / emufs / tipo3.c
index fe46251f21c04f4fabc32f37df5f509aa762281f..2c24174d40adf6de01400f242d316dce6516f931 100644 (file)
@@ -187,9 +187,13 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE t
 
                        if (i == 0) {
                                /* Tengo que agregar el primer bloque en IDX */
 
                        if (i == 0) {
                                /* Tengo que agregar el primer bloque en IDX */
-                               if ( emufs_idx_agregar(emu, ID_aux, num_bloque) != 0 ){
-                                       free(bloque);
-                                       return -1;
+                               if ( emufs_idx_existe_id(emu,ID_aux) != 0){
+                                       emufs_idx_actualizar(emu,ID_aux,num_bloque);
+                               } else {
+                                       if ( emufs_idx_agregar(emu, ID_aux, num_bloque) != 0 ){
+                                               free(bloque);
+                                               return -1;
+                                       }
                                }
                        }
                        /* grabo el nuevo registro en el archivo de espacios libres */
                                }
                        }
                        /* grabo el nuevo registro en el archivo de espacios libres */