return header.id;
}
-int emufs_tipo1_borrar_registro(EMUFS* efs, EMUFS_REG_ID reg_id)
+int emufs_tipo1_borrar_registro(EMUFS* efs, CLAVE k)
{
char* block; /* bloque leido (en donde está el registro a leer) */
EMUFS_BLOCK_ID block_id; /* id del bloque en donde esta el registro a leer */
EMUFS_BLOCK_SIZE offset; /* offset del bloque leído */
EMUFS_TIPO1_REG_HEADER curr_reg_header; /* cabecera del registro a leer */
+ EMUFS_REG_ID reg_id;
+ INDICE_DATO dato;
int err = 0; /* para almacenar código de error */
- block_id = emufs_idx_buscar_registro(efs, reg_id);
+ /*block_id = emufs_idx_buscar_registro(efs, reg_id);
if (block_id == EMUFS_NOT_FOUND) {
PERR("Registro no encontrado");
return EMUFS_NOT_FOUND;
- }
+ }*/
+ dato = efs->indices->existe_entrada(efs->indices, k);
+ block_id = dato.bloque; /*emufs_idx_buscar_registro(emu, ID);*/
+ reg_id = dato.id;
+
+ if (reg_id == -1) return EMUFS_NOT_FOUND;
+
if (!(block = (char*) emufs_tipo1_leer_bloque(efs, block_id, &err))) {
PERR("no se pudo reservar memoria");
return err;
EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS* efs, EMUFS_REG_ID id,
void *data, EMUFS_REG_SIZE size, int* err)
{
- emufs_tipo1_borrar_registro(efs, id);
+/* emufs_tipo1_borrar_registro(efs, id);*/
return emufs_tipo1_grabar_registro(efs, data, size, err);
}