diff --git a/src/Directory.cpp b/src/Directory.cpp index 068eb973f..ab6a9be60 100644 --- a/src/Directory.cpp +++ b/src/Directory.cpp @@ -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);