node = node->next;
}
- fprintf(stderr, "bloque = %d\n", tam_bloque);
tmp->fp = emufs_crear("articulos", tipo-1, tam_bloque, sizeof(t_Articulo));
for (node=inicio ; node ; node = node->next) {
if (node->type == XML_ELEMENT_NODE) {
if (strcmp(node->name, "ARTICULO") == 0) {
t_Articulo art;
void *save;
+ memset(&art, '*', sizeof(t_Articulo));
art.numero = atoi(xmlGetProp(node, "NroArtículo"));
- strncpy(art.desc, xmlGetProp(node, "Descripción"), 50);
- strncpy(art.presentacion, xmlGetProp(node, "Presentación"), 30);
- strncpy(art.existencia, xmlGetProp(node, "Existencia"), 8);
+ strcpy(art.desc, xmlGetProp(node, "Descripción"));
+ strcpy(art.presentacion, xmlGetProp(node, "Presentación"));
+ strcpy(art.existencia, xmlGetProp(node, "Existencia"));
/*strncpy(tmp->array[cant].ubicacion, xmlGetProp(node, "Ubicacion"), 30);*/
- strncpy(art.pvu, xmlGetProp(node, "PVU"), 8);
- strncpy(art.emin, xmlGetProp(node, "Emín"), 8);
+ strcpy(art.pvu, xmlGetProp(node, "PVU"));
+ strcpy(art.emin, xmlGetProp(node, "Emín"));
/* Ya leido el articulo ahora paso a guardarlo en el archivo y agregarlo a la lista */
save = procesar_guardar_articulo(&art, &size, lst_articulos);
if (save != NULL) {
/* Lleno el lugar no ocupado de los strings con *, para que el ver
* registro se vea bien
*/
- i[0] = sizeof(unsigned int);
- i[1] = sizeof(char)*(strlen(src->desc)+1);
- i[2] = sizeof(char)*(strlen(src->presentacion)+1);
- i[3] = sizeof(char)*(strlen(src->existencia)+1);
-/* i[4] = sizeof(char)*(strlen(src->ubicacion)+1); */
- i[4] = sizeof(char)*(strlen(src->pvu)+1);
- i[5] = sizeof(char)*(strlen(src->emin)+1);
tmp = (char *)malloc(sizeof(t_Articulo));
- if (tmp == NULL) return NULL;
- memcpy(tmp, from, i[0]);
- memcpy(tmp+i[0], from+i[0], i[1]); memset(tmp+i[0]+i[1], '*', 51-i[1]);
- memcpy(tmp+i[0]+51, from+i[0]+51, i[2]); memset(tmp+i[0]+51+i[2], '*', 31-i[2]);
- memcpy(tmp+i[0]+82, from+i[0]+82, i[3]); memset(tmp+i[0]+82+i[3], '*', 9-i[3]);
- memcpy(tmp+i[0]+91, from+i[0]+91, i[4]); memset(tmp+i[0]+91+i[4], '*', 9-i[4]);
- memcpy(tmp+i[0]+100, from+i[0]+100, i[5]); memset(tmp+i[0]+100+i[5], '*', 9-i[5]);
-
+ memcpy(tmp, from, sizeof(t_Articulo));
(*size) = sizeof(t_Articulo);
}
return tmp;