Mam talbicę
char tab[1][100];
W jaki sposob moge zaalokowac pamięc dla tab[2] ??
Przykład który nie działa :
int count=1;
char tab[1][PATH_MAX];
while((entry = readdir(dir))!= NULL)
{
if(i==count)
{
char* tab=realloc(tab, sizeof(tab)+sizeof(tab[0]));
if(tab==NULL)
abort();
count++;
fprintf(stderr, "reallocuje :)\r\n");
}
stat(entry->d_name, &stats);
if(strcmp(entry->d_name, ".")==0) continue;
if(S_ISDIR(stats.st_mode))
sprintf(tab[i], "/%s", entry->d_name, getdate(stats.st_mtime));
else
sprintf(tab[i], " %s", entry->d_name, getdate(stats.st_mtime));
fprintf(stderr, "%s %d %d\r\n", tab[i], i, count);
i++;
}
Program powinien wrzucic do tab[] wszystkie foldery i pliki z danego katalogu, ale nie wiem czemu zatrzymuje sie zawsze przy 11 elemencie:
pucik@slack:~/src/cc$ ./test
/..
/lost+found
/var
/mnt
/dev
/bin
/etc
/lib
/tmp
/usr
/boot
Segmentation fault
Moze ktos wie w czym problem ??