X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/d4c259b024d7aa4b64f8727e619a65688d43c798..ecddfc3161e6285cdd95ec7237d1e8e562a594a1:/emufs/tipo1.c diff --git a/emufs/tipo1.c b/emufs/tipo1.c index d265f8f..fa1c012 100644 --- a/emufs/tipo1.c +++ b/emufs/tipo1.c @@ -376,14 +376,18 @@ int emufs_tipo1_borrar_registro(EMUFS* efs, CLAVE k) INDICE_DATO dato; int err = 0; /* para almacenar código de error */ - /*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 (efs->indices != NULL) { + dato = efs->indices->existe_entrada(efs->indices, k); + block_id = dato.bloque; /*emufs_idx_buscar_registro(emu, ID);*/ + reg_id = dato.id; + } else { + reg_id = k.i_clave; + block_id = emufs_idx_buscar_registro(efs, reg_id); + if (block_id == EMUFS_NOT_FOUND) { + PERR("Registro no encontrado"); + return EMUFS_NOT_FOUND; + } + } if (reg_id == -1) return EMUFS_NOT_FOUND; @@ -690,10 +694,10 @@ EMUFS_BLOCK_ID emufs_tipo1_grabar_bloque_fsc(EMUFS *efs, void *block, return block_id; } -EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS* efs, EMUFS_REG_ID id, +EMUFS_REG_ID emufs_tipo1_modificar_registro(EMUFS* efs, CLAVE k, void *data, EMUFS_REG_SIZE size, int* err) { -/* emufs_tipo1_borrar_registro(efs, id);*/ + emufs_tipo1_borrar_registro(efs, k); return emufs_tipo1_grabar_registro(efs, data, size, err); }