I ma trying to get all directiories and files in a folder:
void ListFiles(AnsiString dir) AnsiString is typedef std::string
{
Directory = dir;
s->Clear();
d->Clear();
DIR *pDIR;
struct dirent *entry;
struct stat info;
if( pDIR = opendir(dir.c_str()) )
{
// while (entry = readdir(pDIR)) <-- original
while ( (entry = readdir(pDIR)) != NULL)
{
if( strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0 )
{
stat(entry->d_name, &info);
if (S_ISDIR(info.st_mode)) //list directories
d->Add(entry->d_name);
if (Pos(mask, LowerCase(entry->d_name)) > 0 ) //list tga files only
s->Add(entry->d_name);
}
}
closedir(pDIR);
}
}
Now the problem is: if (S_ISDIR(info.st_mode)) claims every file i check is directory :X