Portability - Solaris

- Added a SOLARIS workaround for the lack of de_type member in struct dirent
  that other OSes have.
This commit is contained in:
Paul Beckingham 2010-02-12 01:35:20 -05:00
parent 0a3ee9f0a7
commit 75666c56cc

View file

@ -121,10 +121,19 @@ void Directory::list (
!strcmp (de->d_name, ".."))
continue;
#ifdef SOLARIS
struct stat s;
stat (de->d_name, &s);
if (recursive && s.st_mode & S_IFDIR)
list (base + "/" + de->d_name, results, recursive);
else
results.push_back (base + "/" + de->d_name);
#else
if (recursive && de->d_type == DT_DIR)
list (base + "/" + de->d_name, results, recursive);
else
results.push_back (base + "/" + de->d_name);
#endif
}
closedir (dp);