4 /* Se encarga de reemplazar los \0 un caracter visual, y segurar un \0 al final */
5 static char *procesar_registro(char *ptr, size_t size);
7 void ver_registros(WINDOW *padre, int w, int h)
9 /* Ventanas donde mostrar las cosas */
10 WINDOW *actual[2], *ant[2], *sig[2];
11 int c, scroll, actual_ancho;
14 fp = emufs_abrir("articulos");
16 data = (char *)fp->leer_registro(fp, 0, &c, &scroll);
18 data = procesar_registro(data, c);
20 actual[0] = derwin(padre, h-2, w/3, 1, w/3);
22 actual[1] = derwin(actual[0], h-4, w/3-2, 1, 1);
24 ant[0] = derwin(padre, h-2, w/3, 1, 0);
26 sig[0] = derwin(padre, h-2, w/3, 1, w/3*2);
29 wattron(actual[1], A_BOLD);
30 mvwaddstr(actual[1], 0, 0, data);
31 wattroff(actual[1], A_BOLD);
39 while ((c=getch()) != 13) {
43 if (scroll < 0) scroll = 0;
49 wattron(actual[1], A_BOLD);
50 mvwaddstr(actual[1], 0, 0, data+actual_ancho*scroll);
51 wattroff(actual[1], A_BOLD);
67 static char *procesar_registro(char *ptr, size_t size)
69 char *tmp, *salida, *tmp1;
70 salida = (char *)malloc(size-sizeof(unsigned int)+10+1);
71 sprintf(salida, "(%08d)", *((unsigned int *)ptr));
73 tmp = ptr+sizeof(unsigned int);
74 while (tmp < (ptr+size)) {