From 7ebf0a1c567c187b7819379c45755cf5ef8dac90 Mon Sep 17 00:00:00 2001 From: Alan Kennedy Date: Mon, 31 May 2004 06:42:45 +0000 Subject: [PATCH] Algun dia terminara de arreglarse el obtener_siguiente, espero que sea ahora --- emufs/indice_bplus.c | 5 +++-- emufs/tipo1_bplus_main.c | 6 +++++- emufs/tipo3_bplus_main.c | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/emufs/indice_bplus.c b/emufs/indice_bplus.c index 1882cd6..323c7c0 100644 --- a/emufs/indice_bplus.c +++ b/emufs/indice_bplus.c @@ -372,9 +372,10 @@ int b_plus_buscar_prepost(INDICE *idx, CLAVE key, int num_node, INDEX_DAT *prepo b_plus_destruir_nodo(nodo); nodo = b_plus_leer_nodo(idx,num_node); prepostkey->clave = nodo->claves[0]; - prepostkey->num_bloque = nodo->hijos[0]; + prepostkey->num_bloque = nodo->hijos[0]; + exitcode = 1; } - else exitcode = 1; /* No hay mas */ + else exitcode = -1; /* No hay mas */ } else { prepostkey->clave = nodo->claves[i+1]; diff --git a/emufs/tipo1_bplus_main.c b/emufs/tipo1_bplus_main.c index b5eea54..e7de2ca 100644 --- a/emufs/tipo1_bplus_main.c +++ b/emufs/tipo1_bplus_main.c @@ -199,13 +199,17 @@ PERR("INSERTANDO REGISTROS"); for ( i=0; i<100; i++){ texto2="SETPTIMO REGISTRO, lo inserto donde entre carajo2ooooooooooooooooooCLAVE = 80"; srandom(i); - clave.i_clave = random() % 100000; + clave.i_clave = random() % 32767; r = cargar_registro(texto, strlen(texto), clave, texto2, strlen(texto2)); len = strlen(texto)+strlen(texto2)+sizeof(CLAVE); emufs_tipo1_insertar_ordenado(emu, r, len, &err); free(r); } /* +query.clave.i_clave = 11171; +if (b_plus_buscar_prepost(emu->indices,query.clave,0,&postkey,1) == -1) PERR("DAMN!"); +printf ("La siguiente clave al 11171 es %i\n",postkey.clave.i_clave); + prekey.clave = emu->indices->obtener_menor_clave(emu->indices); postkey.clave = emu->indices->obtener_mayor_clave(emu->indices); printf ("El mayor es %i\n",postkey.clave.i_clave); diff --git a/emufs/tipo3_bplus_main.c b/emufs/tipo3_bplus_main.c index e045dd6..04e7de1 100644 --- a/emufs/tipo3_bplus_main.c +++ b/emufs/tipo3_bplus_main.c @@ -220,7 +220,7 @@ imprimir_reg(r, strlen(texto), size); oldclave.i_clave = -1; /*printf ("Random Keys: ");*/ -for ( i=0; i<1000; i++){ +for ( i=0; i<10000; i++){ srandom(i); clave.i_clave = random()%10000; if (clave.i_clave == oldclave.i_clave) continue; -- 2.43.0