From 3e01c105b393c1f67058359b5a964f413eb197ff Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Tue, 18 May 2004 20:36:01 +0000 Subject: [PATCH] En teoria estaria terminado el b_pasar_clave_a_derecha(). --- emufs/indice_b.c | 49 ++++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/emufs/indice_b.c b/emufs/indice_b.c index 5491b0d..89de6e7 100644 --- a/emufs/indice_b.c +++ b/emufs/indice_b.c @@ -47,9 +47,9 @@ static void b_pedir_clave_derecha(char *, int, char *, int, char *, int, int); /** Le pide al hermano izquierdo una clave cuando se eliminan claves */ static void b_pedir_clave_izquierda(char *, int, char *, int, char *, int, int); /** Le pasa al hermano derecho del nodo una clave cuando se insertan claves */ -static void b_pasar_clave_a_derecha(char *, int, char *, int, char *, int, int); +static void b_pasar_clave_a_derecha(INDICE*, char*, int, char*, int, int, B_NodoEntry); /** Le pasa al hermano izquierdo una clave cuando se insertan claves */ -static void b_pasar_clave_a_izquierda(char *, int, char *, int, char *, int, int); +static void b_pasar_clave_a_izquierda(INDICE*, char*, int, char*, int, int, B_NodoEntry); /** Junta 2 nodos y hace uno solo */ static void b_fundir_nodo(char *, int, char *, int, char *, int, int); @@ -667,37 +667,24 @@ static void b_pedir_clave_derecha(char *der, int der_id, char *padre, int padre_ b_actualizar_header(nodo, &h_nodo); } -static void b_pasar_clave_a_derecha(char *der, int der_id, char *padre, int padre_id, char *nodo, int nodo_id, int pos_clave) +void b_pasar_clave_a_derecha(INDICE *idx, char *der, int der_id, char *padre, int padre_id, int padre_pos, B_NodoEntry entry) { -/* int i; - B_NodoHeader h_der, h_padre, h_nodo; - B_NodoEntry *c_der, *c_padre, *c_nodo; - - b_leer_header(nodo, &h_nodo); - c_nodo = b_leer_claves(nodo, &h_nodo); - b_leer_header(der, &h_der); - c_der = b_leer_claves(der, &h_der); - b_leer_header(padre, &h_padre); - c_padre = b_leer_claves(padre, &h_padre); - - c_nodo[h_nodo.cant] = c_padre[pos_clave]; - c_nodo[h_nodo.cant].hijo_derecho = -1; / * XXX * / - - c_padre[pos_clave] = c_der[0]; - c_padre[pos_clave].hijo_derecho = der_id; - - / * Muevo las claves de derecho * / - for(i=0; i