Re[3]: Где ошибка?
От: dik o-braz  
Дата: 06.02.04 08:14
Оценка:
void x_string_list_add(xStringList *lst, int count, ...)
{
/* ... */        
        if (lst->al > lst->size)
        {
            int i;
            va_list par; 
            lst->list[lst->size] = (char **)x_malloc(sizeof(char *) * count);
            va_start(par, count);
            for (i = 0; i < count; i++)
            {
                lst->list[lst->size][i] = x_strdup(va_arg(par, char *));
            }
/* Зачем нужна вот эта строчка ?  VVV           */
            lst->list[lst->size++][i] = NULL;
/* Возможно, ей затирается служебная инф-я хипа */
/* И в ф-ии free все падает                     */
            va_end(par);
        }
/* ... */        
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.