From 85944624925b27cb9076e6ba46fc50c3f6bdd2a5 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Sun, 30 May 2004 19:38:29 +0000 Subject: [PATCH] Arreglo el 99% de mis bugs pendientes, algun vivo se olvido de asignar la funcion emufs->modificar_registro en las tipoX_inicilizar (solo tipo2 la tenia). --- emufs/emufs.c | 4 ++++ emufs/tipo1.c | 1 + emufs/tipo3.c | 1 + emufs_gui/Makefile | 2 +- emufs_gui/articulos.c | 7 ++++++- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/emufs/emufs.c b/emufs/emufs.c index dd1ef08..d79f559 100644 --- a/emufs/emufs.c +++ b/emufs/emufs.c @@ -275,6 +275,7 @@ EMUFS *emufs_abrir(const char *filename) case T1: /* Lee cabeceras propias. */ if (!fread(&(efs->tam_bloque), sizeof(EMUFS_BLOCK_SIZE), 1, fp)) { + PERR("ERROR Tipo1 no se pudo leer cabecera"); free(efs->nombre); free(efs); fclose(fp); @@ -295,6 +296,7 @@ EMUFS *emufs_abrir(const char *filename) if ((!fread(&(efs->tam_bloque), sizeof(EMUFS_BLOCK_SIZE), 1, fp)) || (!fread(&(efs->tam_reg), sizeof(EMUFS_REG_SIZE), 1, fp))) { + PERR("ERROR Tipo3 no se pudo leer header"); free(efs->nombre); free(efs); fclose(fp); @@ -326,6 +328,8 @@ EMUFS *emufs_abrir(const char *filename) } /* Asigna punteros a funciones. */ emufs_tipo5_inicializar(efs); + default: + PERR("EMUFS TIPO NO SOPORTADO"); } /* finalmente cargo la data de los indices */ diff --git a/emufs/tipo1.c b/emufs/tipo1.c index 43fc9ef..45b703c 100644 --- a/emufs/tipo1.c +++ b/emufs/tipo1.c @@ -98,6 +98,7 @@ int emufs_tipo1_inicializar(EMUFS* efs) efs->leer_registro_raw = emufs_tipo1_leer_registro_raw; efs->leer_estadisticas = emufs_tipo1_leer_estadisticas; efs->compactar = emufs_tipo1_compactar; + efs->modificar_registro = emufs_tipo1_modificar_registro; efs->tam_reg = 0; return EMUFS_OK; } diff --git a/emufs/tipo3.c b/emufs/tipo3.c index 4973603..06bab34 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -64,6 +64,7 @@ int emufs_tipo3_inicializar(EMUFS* efs) efs->leer_registro_raw = emufs_tipo3_leer_registro_raw; efs->leer_estadisticas = emufs_tipo3_leer_estadisticas; efs->compactar = emufs_tipo3_compactar; + efs->modificar_registro = emufs_tipo3_modificar_registro; efs->tam_reg = 0; return EMUFS_OK; } diff --git a/emufs_gui/Makefile b/emufs_gui/Makefile index 760b8ef..a726c51 100644 --- a/emufs_gui/Makefile +++ b/emufs_gui/Makefile @@ -10,4 +10,4 @@ emufs_view: $(OBJ) clean: cd generar_archivos; make clean - @$(RM) -vf *.o emufs_view *.dat *.did *.fsc *.idx + @$(RM) -vf *.o emufs_view *.dat *.did *.fsc *.idx *.info diff --git a/emufs_gui/articulos.c b/emufs_gui/articulos.c index f7ee098..5c6c27e 100644 --- a/emufs_gui/articulos.c +++ b/emufs_gui/articulos.c @@ -1269,13 +1269,18 @@ void art_actualizar_stock(int numero, int cv) CLAVE k; INDICE_DATO dummy1; k.i_clave = numero; + EMUFS *fp; /* dummy se pasa porque esto se hace por clave primaria, y el INDICE_DATO que se * pasa solo es requerido cuando son claves multiples */ PERR("Guardando modificacion de Stock"); error = 0; fprintf(stderr, "PTR=%p %p\n", lst_articulos, lst_articulos->fp); - lst_articulos->fp->modificar_registro(lst_articulos->fp, k, tmp, size, &error, dummy1); + fp = lst_articulos->fp; + PERR("Pase1"); + fprintf(stderr, "METODO : %p\n", fp->modificar_registro); + fp->modificar_registro(fp, k, tmp, size, &error, dummy1); + PERR("Pase2"); PERR("Listo"); free(tmp); } -- 2.43.0