]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs_gui/articulos.c
* Cargo los indices desde el XML
[z.facultad/75.06/emufs.git] / emufs_gui / articulos.c
index be029aa23ba9139d4cedad6305fac62ade5cad1c..a6011b1c262ec8829f995da0743c8622d0d9f3e1 100644 (file)
@@ -112,9 +112,9 @@ t_LstArticulos *art_cargar(t_Parametros *param)
                tmp->fp = emufs_crear("articulos", param->tipo_arch_art, param->tam_bloque_art, sizeof(t_Articulo));
                /* Agrego los indices */
                PERR("Voy a agregar un indice");
                tmp->fp = emufs_crear("articulos", param->tipo_arch_art, param->tam_bloque_art, sizeof(t_Articulo));
                /* Agrego los indices */
                PERR("Voy a agregar un indice");
-               emufs_agregar_indice(tmp->fp, "presentacion", IND_EXAHUSTIVO, IND_B, IDX_STRING, STRUCT_OFFSET(un_articulo, desc), 512, 1);
-               emufs_agregar_indice(tmp->fp, "desc", IND_EXAHUSTIVO, IND_B, IDX_STRING, STRUCT_OFFSET(un_articulo, desc), 512, 0);
-               emufs_agregar_indice(tmp->fp, "codigo", IND_PRIMARIO, IND_B_ASC, IDX_INT, 0, 512, 0);
+               emufs_agregar_indice(tmp->fp, "presentacion", IND_EXAHUSTIVO, param->ind_art[2].tipo_arbol, IDX_STRING, STRUCT_OFFSET(un_articulo, desc), param->ind_art[2].tam_bloque, 1);
+               emufs_agregar_indice(tmp->fp, "desc", IND_EXAHUSTIVO, param->ind_art[1].tipo_arbol, IDX_STRING, STRUCT_OFFSET(un_articulo, desc), param->ind_art[1].tam_bloque, 0);
+               emufs_agregar_indice(tmp->fp, "codigo", IND_PRIMARIO, param->ind_art[0].tipo_arbol, IDX_INT, 0, param->ind_art[0].tam_bloque, 0);
                if (!tmp->fp) {
                        PERR("NO SE PUDO CREAR ARCHIVO ARTICULOS");
                        free(tmp);
                if (!tmp->fp) {
                        PERR("NO SE PUDO CREAR ARCHIVO ARTICULOS");
                        free(tmp);
@@ -446,6 +446,7 @@ int procesar_leer_articulo(t_Articulo *dst, void *src, EMUFS_REG_SIZE size, t_Ls
        char *fin, *ini;
        switch (lst->fp->tipo) {
                case T1:
        char *fin, *ini;
        switch (lst->fp->tipo) {
                case T1:
+               case T4:
                case T2:
                        ini = (char *)src;
                        /* Copio el primer campo, esto es facil :-) */
                case T2:
                        ini = (char *)src;
                        /* Copio el primer campo, esto es facil :-) */
@@ -483,6 +484,7 @@ int procesar_leer_articulo(t_Articulo *dst, void *src, EMUFS_REG_SIZE size, t_Ls
                        memcpy(dst->emin, ini, fin-ini);
 
                        break;
                        memcpy(dst->emin, ini, fin-ini);
 
                        break;
+               case T5:
                case T3:
                        memcpy(dst, src, sizeof(t_Articulo));
        }
                case T3:
                        memcpy(dst, src, sizeof(t_Articulo));
        }
@@ -498,6 +500,7 @@ void *procesar_guardar_articulo(t_Articulo *src, EMUFS_REG_SIZE *size, t_LstArti
        switch(lst->fp->tipo) {
                case T1:
                case T2:
        switch(lst->fp->tipo) {
                case T1:
                case T2:
+               case T4:
                        /* Calculo el tamaño que voy a necesitar */
                        i[0] = sizeof(unsigned int);
                        i[1] = sizeof(char)*(strlen(src->desc)+1);
                        /* Calculo el tamaño que voy a necesitar */
                        i[0] = sizeof(unsigned int);
                        i[1] = sizeof(char)*(strlen(src->desc)+1);
@@ -518,6 +521,7 @@ void *procesar_guardar_articulo(t_Articulo *src, EMUFS_REG_SIZE *size, t_LstArti
                        memcpy(tmp+i[0]+i[1]+i[2]+i[3]+i[4], src->pvu, i[5]);
                        memcpy(tmp+i[0]+i[1]+i[2]+i[3]+i[4]+i[5], src->emin, i[6]);
                break;
                        memcpy(tmp+i[0]+i[1]+i[2]+i[3]+i[4], src->pvu, i[5]);
                        memcpy(tmp+i[0]+i[1]+i[2]+i[3]+i[4]+i[5], src->emin, i[6]);
                break;
+               case T5:
                case T3:
                        /* Lleno el lugar no ocupado de los strings con *, para que el ver
                         * registro se vea bien 
                case T3:
                        /* Lleno el lugar no ocupado de los strings con *, para que el ver
                         * registro se vea bien