]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
* BUGFIX : error de typo
authorRicardo Markiewicz <gazer.arg@gmail.com>
Sun, 11 Apr 2004 08:29:39 +0000 (08:29 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Sun, 11 Apr 2004 08:29:39 +0000 (08:29 +0000)
 * Ahora la GUI puede abrir archivos existentes. Si gui se ejecuta sin
 parĂ¡metros va a abrir el archivo existente. Si se ejecuta pasandole
 el parametro articulos.xml genera desde 0 el archivo de articulos.

emufs/idx.c
emufs/idx.h
emufs_gui/articulos.c

index ae717e7993519e0d7d0afdad24bee1c5a8ea0107..6db15a33073b1e768fca12ab6c0194e6f6a3a740 100644 (file)
@@ -241,7 +241,7 @@ unsigned int emufs_idx_get_count(EMUFS *emu)
        return tam/sizeof(EMUFS_IDX);
 }
 
-unsigned long emufs_idx_get_id_att(EMUFS *emu, unsigned int pos)
+unsigned long emufs_idx_get_id_at(EMUFS *emu, unsigned int pos)
 {
        FILE *fp;
        char name_f_idx[255];
index 616df902be27b73d092a2629615f4182ddd8bddf..fea4f3a10985a7cf875582d8cbb8dee5939c1b01 100644 (file)
@@ -63,7 +63,7 @@ int emufs_idx_borrar(EMUFS*, EMUFS_REG_ID);
 
 unsigned int emufs_idx_get_count(EMUFS *);
 
-unsigned long emufs_idx_get_id_att(EMUFS *, unsigned int pos);
+unsigned long emufs_idx_get_id_at(EMUFS *, unsigned int pos);
 
 EMUFS_REG_ID emufs_idx_get_new_id(EMUFS*, int*);
 
index 78dc4f909d9b9c030ab56cadcb47468f3cf0f6e6..4899ab309165dd607401c8ec3ed3248b86a4b05c 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, 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;