X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/63f9cc2172df9d346457685096b4de200c084e9e..b54ff8cf3f228245ecfa0a27fb9b339d1068cacf:/emufs/emufs.c?ds=inline diff --git a/emufs/emufs.c b/emufs/emufs.c index ad14955..96460cd 100644 --- a/emufs/emufs.c +++ b/emufs/emufs.c @@ -349,6 +349,7 @@ int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDIC /* Verifico que no existe un indice con el mismo nombre */ /* y que no exista un indice primario */ + PERR("Agregando indice"); tmp = emu->indices; while (tmp) { if (strcmp(tmp->nombre, nombre)==0) { @@ -359,6 +360,7 @@ int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDIC error = 2; break; } + tmp = tmp->sig; } if (tmp != NULL) { @@ -368,17 +370,18 @@ int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDIC break; case 2: PERR("EMUFS ya tiene indice primario!!"); - break; - default: - PERR("Error no esperado!!"); } return 0; } /* Creo el nuevo indice */ + PERR("Creando indice\n"); tmp = emufs_indice_crear(emu, nombre, funcion, tipo, tipo_dato, offset, tam_bloque); - if (tmp == NULL) return 0; + if (tmp == NULL) { + PERR("NO SE PUDO CREAR INDICE!!!"); + return 0; + } if (emu->indices==NULL) emu->indices = tmp; @@ -389,12 +392,15 @@ int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDIC return 1; } -INDICE_DATO *emufs_buscar_registros(EMUFS *emu, char *indice, CLAVE clave, int *cant) +INDICE_DATO *emufs_buscar_registros(EMUFS *emu, char *indice, char *data, int *cant) { + CLAVE k; INDICE *tmp; + tmp = emu->indices; while (tmp) { if (strcmp(tmp->nombre, indice) == 0) break; + tmp = tmp->sig; } if (tmp == NULL) { @@ -403,6 +409,10 @@ INDICE_DATO *emufs_buscar_registros(EMUFS *emu, char *indice, CLAVE clave, int * return NULL; } - return tmp->buscar_entradas(tmp, clave, cant); + PERR("GENERANDO CLAVE") + PERR(data); + k = emufs_indice_generar_clave_desde_valor(tmp, data); + PERR("DONE"); + return tmp->buscar_entradas(tmp, k, cant); }