X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/ce3cea71f571b6f5dcff4857718ae7e22dd93172..b7e442a0e29d6f54ce1287a9fe407fedb52de949:/emufs/indices.c?ds=sidebyside diff --git a/emufs/indices.c b/emufs/indices.c index 207e999..c767d64 100644 --- a/emufs/indices.c +++ b/emufs/indices.c @@ -72,6 +72,7 @@ INDICE *emufs_indice_crear(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, IND break; case IND_B_PLUS: /* llenar metodos */ + /* hacer que la cantidad de claves quede par o impar, no me acuerdo (SAGAR)!!!*/ PERR("Creando indice con Arbol B+"); tmp->size_claves = (tmp->tam_bloque - SIZE_B_PLUS_HEADER - sizeof(CLAVE))/2; tmp->size_hijos = tmp->size_claves + sizeof(CLAVE); @@ -244,3 +245,13 @@ void emufs_indice_obtener_valor_desde_clave(INDICE *idx, CLAVE k, void *dst) } } + +void emufs_indice_borrar(INDICE *primero, CLAVE k, INDICE_DATO dato) +{ + INDICE *iter = primero; + + while (iter) { + iter->borrar_entrada(iter, k, dato); + iter = iter->sig; + } +}