]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo3.c
- bugfixes. guardar_registro() ya guarda registros mas grandes que el bloque.
[z.facultad/75.06/emufs.git] / emufs / tipo3.c
index fe46251f21c04f4fabc32f37df5f509aa762281f..00adef825ab1e2beef66721d2b7ec3f34a1b3fd3 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){ /* deberia ser == 0 pero no funca*/
+                                       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 */