]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/emufs.c
primera parte del insertar
[z.facultad/75.06/emufs.git] / emufs / emufs.c
index 76260ac5531f3b434e1838147294c0001122c067..96460cdeec2a18eeec627e49b56b21000d77101e 100644 (file)
@@ -360,6 +360,7 @@ int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDIC
                        error = 2;
                        break;
                }
+               tmp = tmp->sig;
        }
 
        if (tmp != NULL) {
@@ -377,7 +378,10 @@ int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDIC
        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;
@@ -388,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) {
@@ -402,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);
 }