#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);
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);
wattroff(padre, COLOR_PAIR(COLOR_BLUE));
switch (fp->tipo) {
case T1:
+ case T2:
waddstr(padre, "Registro variable con bloque parametrizado.");
if (cual == 0)
procesar = procesar_registro_articulo_tipo1;
else
procesar = procesar_registro_factura_tipo1;
break;
- case T2:
- waddstr(padre, "Registro variable sin bloques.");
- break;
case T3:
if (cual == 0)
procesar = procesar_registro_articulo_tipo3;
curs_set(0);
mostrar_info(padre, h, offset_alto, 1);
-
- mvwaddnstr(actual[1], 0, 0, data, pos_actual);
- wattron(actual[1], A_BOLD);
- waddnstr(actual[1], data+pos_actual, ancho_registro);
- wattroff(actual[1], A_BOLD);
- waddnstr(actual[1], data+pos_actual+ancho_registro, size-(pos_actual+ancho_registro));
+
+ if (data) {
+ mvwaddnstr(actual[1], 0, 0, data, pos_actual);
+ wattron(actual[1], A_BOLD);
+ waddnstr(actual[1], data+pos_actual, ancho_registro);
+ wattroff(actual[1], A_BOLD);
+ waddnstr(actual[1], data+pos_actual+ancho_registro, size-(pos_actual+ancho_registro));
+ }
wrefresh(actual[1]);
wrefresh(actual[0]);
(*ancho) = (*size);
}
memset(tmp1, '.', (*size)-(tmp1-salida));
- salida[*size-1] = '\0';
+ salida[*size-2] = '\0';
return salida;
}
(*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;
}