X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/0671a3f17c59204a36453f20bde7b4cf228dc396..a9d8cb23434a72872288a9aa56cc2f80f56a0978:/emufs/tipo3.c diff --git a/emufs/tipo3.c b/emufs/tipo3.c index 1214afc..acffac8 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -340,7 +340,7 @@ int emufs_tipo3_grabar_bloque(EMUFS *emu, void *ptr, EMUFS_BLOCK_ID num) } /*borra un registro de un bloque y acomoda los registros que quedan*/ -int emufs_tipo3_borrar_registro(EMUFS *emu, CLAVE k) +int emufs_tipo3_borrar_registro(EMUFS *emu, CLAVE k, INDICE_DATO dato1) { EMUFS_BLOCK_SIZE num_bloque; EMUFS_BLOCK_SIZE ptr_elim; @@ -372,9 +372,6 @@ int emufs_tipo3_borrar_registro(EMUFS *emu, CLAVE k) return -1; } - PERR("Borrando clave"); - /* TODO Borrar en todos los indices!! */ - emu->indices->borrar_entrada(emu->indices, k); /*apunto al registro que voy a eliminar*/ ptr_elim = 0; while ( ptr_elim < emu->tam_bloque ){ @@ -435,6 +432,9 @@ int emufs_tipo3_borrar_registro(EMUFS *emu, CLAVE k) } free(bloque); + PERR("Borrando claves"); + emufs_indice_borrar(emu->indices, k, dato1); + PERR("Clave borrada de todos los indices"); return 0; } @@ -485,9 +485,9 @@ EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *emu) return stats; } -EMUFS_REG_ID emufs_tipo3_modificar_registro(EMUFS *emu, CLAVE k, void *data, EMUFS_REG_SIZE size, int *error) +EMUFS_REG_ID emufs_tipo3_modificar_registro(EMUFS *emu, CLAVE k, void *data, EMUFS_REG_SIZE size, int *error, INDICE_DATO dato) { - emufs_tipo3_borrar_registro(emu, k); + emufs_tipo3_borrar_registro(emu, k, dato); return emufs_tipo3_grabar_registro(emu, data, size, error); }