]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo3.c
Algunos bugfixes, siguiendo con claves multiples y recuperacion de strings
[z.facultad/75.06/emufs.git] / emufs / tipo3.c
index 4e0e0db56e4a8f2cc5538f7da76a1a6f876da49f..4330731b89c08b5cc97a06bd0a6148af83735572 100644 (file)
@@ -65,7 +65,10 @@ void* emufs_tipo3_leer_registro(EMUFS *emu, CLAVE clave,
                block = dato.bloque;
                ID = dato.id;
        } else {
-               /* TODO ID de donde lo puedo sacar :-) , lo cargo en CLAVE ? */
+               /* Si no tengo claves, uso el campo entero para pasar un ID
+                * directamente.
+                */
+               ID = clave.i_clave;
                block = emufs_idx_buscar_registro(emu,ID); /*me devuelve el nro de bloque al que pertenece el registro*/
        }
        if ( block == EMUFS_NOT_FOUND ){
@@ -575,20 +578,6 @@ void emufs_tipo3_leer_bloque_raw(EMUFS *efs, EMUFS_BLOCK_ID id, char **actual, c
        (*size1) = (*size2) = (*size3) = efs->tam_bloque;
 }
 
-CLAVE obtener_clave(void *ptr, INDICE *indice)
-{
-       CLAVE clave;
-       
-       switch ( indice->tipo_dato ){
-               case IDX_FLOAT: 
-                       memcpy(&clave, ptr+indice->offset, sizeof(float));
-               break;
-               case IDX_INT:
-                       memcpy(&clave, ptr+indice->offset, sizeof(int));
-       }
-       return clave;
-}
-
 int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, CLAVE clave, int offset, EMUFS_BLOCK_ID num_bloque, int *err)
 {
        return 0;