/* la paso a la derecha */
b_pasar_clave_a_derecha(idx, der, der_id, padre, nodo_header.padre, pos_padre, a_pasar);
- /* XXX TODO Liberar memoria y GUARDAR*/
+ /* Dejo en nodo las claves que corresponden */
+ memcpy(claves, buffer, nodo_header.cant*sizeof(B_NodoEntry));
b_grabar_nodo(idx, der_id, der);
b_grabar_nodo(idx, nodo_header.padre, padre);
b_grabar_nodo(idx, nodo_id, nodo);
free(buffer);
-
+ free(nodo);
+ free(der);
+ free(padre);
return;
}
b_grabar_nodo(idx, nodo_header.padre, padre);
b_grabar_nodo(idx, nodo_id, nodo);
free(buffer);
+ free(nodo);
+ free(izq);
+ free(padre);
return;
}
/* Tengo que partir, tengo que sacar una clave del padre y mandarla al partir */
clave_que_sale = padre_claves[pos_padre];
+ clave_que_sale.hijo_derecho = -1;
for(i=pos_padre; i<padre_header.cant-1; i++)
padre_claves[i] = padre_claves[i+1];
padre_header.cant--;