From: Ricardo Markiewicz Date: Sun, 11 Apr 2004 06:56:00 +0000 (+0000) Subject: * BUGFIX: en tipo1 grabar_registro cuando se pregunta por espacio libre no se esta... X-Git-Tag: svn_import_r684~538 X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/commitdiff_plain/53cd4751dceea6f64354a7d7756b221e96ee544f?ds=inline * BUGFIX: en tipo1 grabar_registro cuando se pregunta por espacio libre no se esta tomando en cuenta el espacio extra para los ID y TamaƱo --- diff --git a/emufs/tipo1.c b/emufs/tipo1.c index 3a6b294..87b0833 100644 --- a/emufs/tipo1.c +++ b/emufs/tipo1.c @@ -169,7 +169,7 @@ EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* efs, void* reg, strcat(name_f,".dat"); /* me devuelve el ID del bloque donde quepa un registro y el espacio libre en "fs"*/ - block_id = emufs_fsc_buscar_lugar(efs, reg_size, &fs); + block_id = emufs_fsc_buscar_lugar(efs, reg_size+sizeof(EMUFS_REG_ID)+sizeof(EMUFS_REG_SIZE), &fs); /* si no hay bloques con suficiente espacio creo un bloque nuevo */ if (block_id == EMUFS_NOT_FOUND) { /* crear un nuevo bloque en memoria */ diff --git a/emufs_gui/Makefile b/emufs_gui/Makefile index 25606db..65fb988 100644 --- a/emufs_gui/Makefile +++ b/emufs_gui/Makefile @@ -1,4 +1,4 @@ -CFLAGS=-Wall -g -I/usr/include/libxml2 -I../emufs +CFLAGS=-Wall -g -DDEBUG -I/usr/include/libxml2 -I../emufs LDFLAGS= -lmenu -lncurses -lxml2 all: gui diff --git a/emufs_gui/articulos.c b/emufs_gui/articulos.c index 60302c5..ed3c922 100644 --- a/emufs_gui/articulos.c +++ b/emufs_gui/articulos.c @@ -60,7 +60,7 @@ t_LstArticulos *art_cargar(const char *filename) /* leo los datos y los guardo en el archivo*/ cant = 0; /* FIXME : por ahora hago que entren 2 bloques y me sobre algo de espacio*/ - tmp->fp = emufs_crear("articulos", T3, sizeof(t_Articulo)*2, sizeof(t_Articulo)); + tmp->fp = emufs_crear("articulos", T1, sizeof(t_Articulo)*2, sizeof(t_Articulo)); for (node=inicio ; node ; node = node->next) { if (node->type == XML_ELEMENT_NODE) { if (strcmp(node->name, "ARTICULO") == 0) { @@ -75,8 +75,10 @@ t_LstArticulos *art_cargar(const char *filename) /* Ya leido el articulo ahora paso a guardarlo en el archivo y agregarlo a la lista */ save = procesar_guardar_articulo(&art, &size, lst_articulos); if (save != NULL) { + printf("MANDO A GUARDAR\n"); tmp->array[cant].num_reg = tmp->fp->grabar_registro(tmp->fp, save, size, &error); tmp->array[cant].numero = art.numero; + printf("DONE\n"); ++cant; free(save); } diff --git a/emufs_gui/gui.c b/emufs_gui/gui.c index 6edd113..8942d86 100644 --- a/emufs_gui/gui.c +++ b/emufs_gui/gui.c @@ -21,12 +21,12 @@ void menu_articulos(); int main(int argc, char *argv[]) { int c, fin=0; -/* + art_cargar(argv[1]); art_liberar(NULL); return 1; -*/ + /* Inicio Curses */ signal(SIGINT, finish); initscr();