]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs_gui/facturas.c
Se arregla memory leak (aunque en el ejemplo no importe demasiado :)
[z.facultad/75.06/emufs.git] / emufs_gui / facturas.c
index bbfcf2087b5a9cc446d1b18171c68f0f8b5e0162..1ad3e5dd3e9a196a0c24b2e42186c33c3994997f 100644 (file)
@@ -195,7 +195,7 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque)
                /* En el registro no guardo los punteros de nota ni items. Si guardo la cantidad de items
                 * y los items al final del registro.
                 */
-               if (tipo == 3) {
+               if (tipo == T3) {
                        /* Limito a 10 items en el caso de registro constante! */
                        cant_items = 10;
                } else {
@@ -568,15 +568,16 @@ void fact_agregar(char *s)
                }
        } while (entrada[0] != '*');
 
-       if (lst_facturas->fp->tipo == 3) {
+       if (lst_facturas->fp->tipo == T3) {
                if (cant != 10) {
                        /* TODO Limitar en la GUI en lugar de truncar! */
-                       fprintf(stderr, "Tengo %d\n", cant);
                        its = (t_Item *)realloc(its, 10*sizeof(t_Item));
-                       fprintf(stderr, "Realoque ok\n");
-                       memset(its+sizeof(t_Item)*cant, 0, (10-cant)*sizeof(t_Item));
-                       fprintf(stderr, "Seteo a 0 sin priblemas\n");
-                       cant = 10;
+                       if (its == NULL) {
+                               cant = 0;
+                       } else {
+                               memset(its+sizeof(t_Item)*cant, 0, (10-cant)*sizeof(t_Item));
+                               cant = 10;
+                       }
                }
        }
        fact.items = its;