}
/*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;
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 ){
}
free(bloque);
+ PERR("Borrando claves");
+ emufs_indice_borrar(emu->indices, k, dato1);
+ PERR("Clave borrada de todos los indices");
return 0;
}
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);
}