-
- /* Obtenemos el offset donde arranca el registro */
- if ((reg_offset = emufs_idx_buscar_registro(efs,id_reg)) == EMUFS_NOT_FOUND) {
- /* TODO Manejo de errores */
- PERR("Registro no encontrado");
+ EMUFS_REG_ID id_reg;
+ INDICE_DATO dato;
+
+ if (efs->indices != NULL) {
+ dato = efs->indices->existe_entrada(efs->indices, k);
+ id_reg = dato.id;
+ reg_offset = dato.bloque;
+ } else {
+ /* Obtenemos el offset donde arranca el registro */
+ id_reg = k.i_clave;
+ if ((reg_offset = emufs_idx_buscar_registro(efs,id_reg)) == EMUFS_NOT_FOUND) {
+ PERR("Registro no encontrado");