]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs_gui/articulos.c
- emufs.c: Utilizacion de emufs_tipo2_inicializar, idem a lo que hizo luca con su...
[z.facultad/75.06/emufs.git] / emufs_gui / articulos.c
index 78dc4f909d9b9c030ab56cadcb47468f3cf0f6e6..26ed7fd9f4d408c4de57aeddec106954c0baf59e 100644 (file)
@@ -1,5 +1,6 @@
 
 #include "articulos.h"
+#include "idx.h"
 
 static t_LstArticulos *lst_articulos;
 
@@ -12,7 +13,7 @@ t_LstArticulos *art_cargar(const char *filename)
 {
        xmlDocPtr document;
        xmlNode *node, *inicio;
-       int cant, size, error;
+       int cant, size, error = 0, i, id;
        void *save;
        t_LstArticulos *tmp;
        lst_articulos = NULL;
@@ -88,7 +89,20 @@ t_LstArticulos *art_cargar(const char *filename)
                xmlCleanupParser();
        } else {
                tmp->fp = emufs_abrir("articulos");
-               /* TODO Cargar registros desde el archivo */
+               /* Ahora trato de recuperar la info */
+               cant = emufs_idx_get_count(tmp->fp);
+               for(i=0; i<cant; i++) {
+                       t_Articulo art;
+                       id = emufs_idx_get_id_at(tmp->fp, i);
+                       /* Leo el registro */
+                       save = tmp->fp->leer_registro(tmp->fp, id, &size, &error);
+                       if (procesar_leer_articulo(&art, save, size, tmp) == 1) {
+                               tmp->array[i].num_reg = i;
+                               tmp->array[i].numero = art.numero;
+                               free(save);
+                       }
+               }
+               tmp->cant = cant;
        }
 
        return tmp;
@@ -112,7 +126,7 @@ t_Articulo *art_obtener(t_LstArticulos *lst, const char *numero)
        /* FIXME : NO ME GUSTA :-/ */
        t_Articulo *art;
        void *tmp;
-       int i,error;
+       int i, error = 0;
        EMUFS_REG_SIZE size;
        int n = atoi(numero);
 
@@ -229,7 +243,7 @@ void art_agregar(char *s)
        t_Form *form;
        t_Articulo art;
        void *save;
-       int error, size, existe, i;
+       int error = 0, size, existe, i;
 
        win = newwin(8, COLS-2, 13, 1);
        box(win, 0, 0);