]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs_gui/viewer.c
* BUGFIX : En ver bloques la funcion que juntaba memoria estaba para el orto.
[z.facultad/75.06/emufs.git] / emufs_gui / viewer.c
index 750d3440e751408447e64677671f1465a30dd02a..8905fa3aa9cc01bf1cf507e1b0bf4a90bab3f48b 100644 (file)
@@ -4,6 +4,7 @@
 #include "articulos.h"
 #include "facturas.h"
 #include "gui.h"
 #include "articulos.h"
 #include "facturas.h"
 #include "gui.h"
+#include "common.h"
 
 /* Se encarga de reemplazar los \0 un caracter visual, y segurar un \0 al final */
 static char *procesar_registro_articulo_tipo3(EMUFS *emu, char *ptr, EMUFS_REG_SIZE *size, int *pos_actual, int *ancho);
 
 /* Se encarga de reemplazar los \0 un caracter visual, y segurar un \0 al final */
 static char *procesar_registro_articulo_tipo3(EMUFS *emu, char *ptr, EMUFS_REG_SIZE *size, int *pos_actual, int *ancho);
@@ -71,9 +72,9 @@ char *juntar_memoria(char *s1, char *s2, char *s3, int size1, int size2, int siz
                        return NULL;
        }
 
                        return NULL;
        }
 
-       if (s1) memcpy(salida, s1, size1);
-       if (s2) memcpy(salida+size2, s2, size2);
-       if (s3) memcpy(salida+size2+size3, s3, size3);
+       if (s1) memcpy(salida, s1, size1); else size1 = 0;
+       if (s2) memcpy(salida+size1, s2, size2); else size2 = 0;
+       if (s3) memcpy(salida+size1+size2, s3, size3);
        if (s1) free(s1);
        if (s2) free(s2);
        if (s3) free(s3);
        if (s1) free(s1);
        if (s2) free(s2);
        if (s3) free(s3);
@@ -526,7 +527,7 @@ char *procesar_registro_articulo_tipo3(EMUFS *emu, char *ptr, EMUFS_REG_SIZE *si
                (*ancho) = (*size);
        }
        memset(tmp1, '.', (*size)-(tmp1-salida)); 
                (*ancho) = (*size);
        }
        memset(tmp1, '.', (*size)-(tmp1-salida)); 
-       salida[*size-1] = '\0';
+       salida[*size-2] = '\0';
 
        return salida;
 }
 
        return salida;
 }
@@ -612,7 +613,7 @@ char *procesar_registro_articulo_tipo1(EMUFS *emu, char *ptr, EMUFS_REG_SIZE *si
        (*size) = (*size)-sizeof(unsigned int)*cant_header*3+3*cant_header*10+1;
        memset(tmp1, '.', (*size)-(tmp1-salida)); 
        free(ptr);
        (*size) = (*size)-sizeof(unsigned int)*cant_header*3+3*cant_header*10+1;
        memset(tmp1, '.', (*size)-(tmp1-salida)); 
        free(ptr);
-       salida[*size-1] = '\0';
+       salida[*size-2] = '\0';
        
        return salida;
 }
        
        return salida;
 }