if (filename != NULL) {
document = xmlReadFile(filename, "ISO-8859-1",0);
if (document == NULL) {
+ free(tmp);
+ lst_articulos = NULL;
return NULL;
}
{
if (l == NULL) l = lst_articulos;
if (l == NULL) return 1;
+ t_Reg_Articulo *del;
emufs_destruir(l->fp);
- /* TODO : Liberar lista */
+ while (l->primero) {
+ del = l->primero;
+ l->primero = l->primero->sig;
+ free(del);
+ }
free(l);
lst_articulos = NULL;
case T2:
ini = (char *)src;
/* Copio el primer campo, esto es facil :-) */
+ memset(dst, '*', sizeof(t_Articulo));
memcpy(&dst->numero, ini, sizeof(unsigned int));
ini+=sizeof(unsigned int);
/* Ahora empieza el juego */
ini = fin+1;
fin = (char *)src+size;
- memcpy(dst->emin, ini, fin-ini+1);
+ memcpy(dst->emin, ini, fin-ini);
break;
case T3:
(*size) = i[0]+i[1]+i[2]+i[3]+i[4]+i[5];
tmp = (char *)malloc((*size));
if (tmp == NULL) return NULL;
+ memset(tmp, 0, *size);
memcpy(tmp, &src->numero, i[0]);
memcpy(tmp+i[0], src->desc, i[1]);
memcpy(tmp+i[0]+i[1], src->presentacion, i[2]);
* registro se vea bien
*/
tmp = (char *)malloc(sizeof(t_Articulo));
+ memset(tmp, '*', sizeof(t_Articulo));
memcpy(tmp, from, sizeof(t_Articulo));
(*size) = sizeof(t_Articulo);
}