X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/c1df639f58f6d3c08247c1543916644e375f8ce2..8637995cdbd1c7d71825cc2e5e8d874de10135f6:/emufs/tipo3.c diff --git a/emufs/tipo3.c b/emufs/tipo3.c index 7333d72..52e182d 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -585,20 +585,7 @@ 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 *ind) -{ - CLAVE c; - switch (ind->tipo_dato) { - case IDX_INT: memcpy(&c, ptr+ind->offset, sizeof(int)); - break; - case IDX_FLOAT: memcpy(&c, ptr+ind->offset, sizeof(float)); - break; - case IDX_STRING: /*no hago nada pero saco el warning*/ - } - return c; -} - -int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, INDICE *indice, int *err) +int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, int *err) { #ifdef ESTO_NO_ANDA_TODAVIA CLAVE clave, clave_aux; @@ -609,9 +596,9 @@ int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, INDICE *indice, int *er /*le asigno un posible numero de bloque para el caso en que no encuentre donde meterlo*/ query.num_bloque = num_bloque; /*saco la clave del stream*/ - query.clave = obtener_clave(ptr, indice); + query.clave = emufs_indice_generar_clave(emu->indices, ptr); /*mando a buscar en el arbol el bloque correspondiente a esa clave*/ - indice->emufs_b_plus_get_bloque(ind, &query); + emu->indices->emufs_b_plus_get_bloque(ind, &query); /*en query->num_bloque tengo el bloque donde debo meter el registro*/ /*cargo el bloque*/ @@ -626,6 +613,9 @@ int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, INDICE *indice, int *er /*si no entra, tengo que insertar una nueva clave en el arbol y separar los registros en 2 bloques*/ - #endif ESTO_NO_ANDA_TODAVIA + + + + #endif /*ESTO_NO_ANDA_TODAVIA*/ return 0; }