X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/2470cecbf9f0f40714b9f50d9a76d187abe336e6..fe7cadabd775ddd59714749b7dfe31a578c6ecca:/emufs_gui/facturas.c?ds=sidebyside diff --git a/emufs_gui/facturas.c b/emufs_gui/facturas.c index c3a82ff..f6ab13c 100644 --- a/emufs_gui/facturas.c +++ b/emufs_gui/facturas.c @@ -232,8 +232,8 @@ t_LstFacturas *fact_cargar(t_Parametros *param) cant_items = 0; } tmp->fp = emufs_crear("facturas", param->tipo_arch_fact, param->tam_bloque_fact, sizeof(t_Factura)-sizeof(char *)-sizeof(t_Item*)+cant_items*sizeof(t_Item)); - emufs_agregar_indice(tmp->fp, "emision", IND_EXAHUSTIVO, IND_B, IDX_STRING, STRUCT_OFFSET(factura, emision), 512, 0); - emufs_agregar_indice(tmp->fp, "numero", IND_PRIMARIO, IND_B, IDX_INT, 0, 512, 0); + emufs_agregar_indice(tmp->fp, "emision", IND_EXAHUSTIVO, param->ind_fac[1].tipo_arbol, IDX_STRING, STRUCT_OFFSET(factura, emision), param->ind_fac[1].tam_bloque, 0); + emufs_agregar_indice(tmp->fp, "numero", IND_PRIMARIO, param->ind_fac[0].tipo_arbol, IDX_INT, 0, param->ind_fac[0].tam_bloque, 0); tmp->fp_texto = emufs_crear("notas", param->tipo_arch_nota, param->tam_bloque_nota, 100); for (node=inicio ; node ; node = node->next) { if (node->type == XML_ELEMENT_NODE) { @@ -675,6 +675,7 @@ void *procesar_guardar_factura(t_Factura *f, t_LstFacturas *lst, EMUFS_REG_SIZE switch (lst->fp->tipo) { case T1: case T2: + case T4: /* Calculo el tamaƱo que voy a necesitar */ i[0] = sizeof(int); i[1] = sizeof(float); @@ -708,6 +709,7 @@ void *procesar_guardar_factura(t_Factura *f, t_LstFacturas *lst, EMUFS_REG_SIZE memcpy(tmp+i[0]+i[1]+i[2]+i[3]+i[4]+i[5]+i[6]+i[7]+i[8]+i[9]+i[10], f->items, i[11]); break; case T3: + case T5: (*size) = sizeof(t_Factura)-sizeof(char *)-sizeof(t_Item *) + f->cant_items*sizeof(t_Item); tmp = (char *)malloc(*size); if (tmp == NULL) return NULL; @@ -734,6 +736,7 @@ static int procesar_leer_factura(t_Factura *dst, void *src, EMUFS_REG_SIZE size, switch (lst->fp->tipo) { case T1: case T2: + case T4: ini = (char *)src; /* Copio los campos numericos, muy facil:-) */ memcpy(&dst->numero, ini, sizeof(int)); @@ -797,6 +800,7 @@ static int procesar_leer_factura(t_Factura *dst, void *src, EMUFS_REG_SIZE size, return 0; break; case T3: + case T5: /* Se que tengo 10 items */ /* TODO : Ver porque leer_registro_tipo3 tira mal el size */ size = lst->fp->tam_reg;