X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/ba5a290c38249add0bbd77330368fc29ada65155..47632f8f1b760f3538651edad104e595c73f8e63:/emufs_gui/facturas.c diff --git a/emufs_gui/facturas.c b/emufs_gui/facturas.c index 08eee4a..2b0a305 100644 --- a/emufs_gui/facturas.c +++ b/emufs_gui/facturas.c @@ -1,5 +1,6 @@ #include "facturas.h" +#include "idx.h" static t_LstFacturas *lst_facturas; @@ -137,11 +138,11 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque) { xmlDocPtr document; xmlNode *node, *inicio; - int error = 0, cant_items; + int error = 0, cant_items, i; char *prop; EMUFS_REG_SIZE size; t_LstFacturas *tmp; - EMUFS_REG_ID id; /*, *indices, indices_cant;*/ + EMUFS_REG_ID id, *indices, indices_cant; lst_facturas = NULL; @@ -151,6 +152,7 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque) tmp->primero = NULL; if (filename != NULL) { + PERR("Voy a cargar de un XML"); document = xmlReadFile(filename, "ISO-8859-1",0); if (document == NULL) { free(tmp); @@ -187,7 +189,7 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque) if (strcmp(node->name, "FACTURA") == 0) { t_Factura fact; void *save; - memset(&fact, '*', sizeof(t_Factura)); + memset(&fact, 0, sizeof(t_Factura)); prop = xml_get_prop(node, "NroFac"); fact.numero = atoi(prop); xmlFree(prop); prop = xml_get_prop(node, "PorcDoI"); @@ -222,20 +224,36 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque) xmlFreeDoc(document); xmlCleanupParser(); } else { -/* tmp->fp = emufs_abrir("articulos");*/ + PERR("Voy a recuperar desde un archivo"); + tmp->fp = emufs_abrir("facturas"); + if (tmp->fp == NULL) { + PERR("No se pudo cargar archivo de facturas!"); + free(tmp); + lst_facturas = NULL; + return NULL; + } + tmp->fp_texto = emufs_abrir("notas"); + if (tmp->fp_texto == NULL) { + PERR("No se pudo cargar archivo de notas!"); + emufs_destruir(tmp->fp); + free(tmp); + lst_facturas = NULL; + return NULL; + } + /* Ahora trato de recuperar la info */ -/* indices = emufs_idx_get(tmp->fp, &indices_cant); + indices = emufs_idx_get(tmp->fp, &indices_cant); for(i=0; ifp->leer_registro(tmp->fp, indices[i], &size, &error); - if (procesar_leer_articulo(&art, save, size, tmp) == 1) { - agregar_nodo_articulo(tmp, crear_nodo_articulo(indices[i], art.numero)); + save = tmp->fp->leer_registro(tmp->fp, indices[i], &size, &error); + if (procesar_leer_factura(&art, save, size, tmp) == 1) { + agregar_nodo_factura(tmp, crear_nodo_factura(indices[i], art.reg_nota, art.numero)); free(save); } } - free(indices);*/ + free(indices); } return lst_facturas; }