X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ffs%2Fdir.cpp;h=2ae5122e63768492f54274a7b7062e861445a094;hp=f77584708bb20a94d01496da33465dd0ffec40c7;hb=f2fbac3ccb4960c4a3d057f641c28dba10ebf799;hpb=7b81490ae4ed6c7c8566f889d146677827f5d4a5 diff --git a/source/fs/dir.cpp b/source/fs/dir.cpp index f775847..2ae5122 100644 --- a/source/fs/dir.cpp +++ b/source/fs/dir.cpp @@ -103,18 +103,18 @@ list list_filtered(const Path &path, const string &filter) list result; DIR *dir = opendir(path.str().c_str()); - if(dir) + if(!dir) + throw system_error("opendir"); + + while(dirent *de = readdir(dir)) { - while(dirent *de = readdir(dir)) - { - const char *fn = de->d_name; - if(fn[0]=='.' && (fn[1]==0 || (fn[1]=='.' && fn[2]==0))) - continue; - if(r_filter.match(fn)) - result.push_back(fn); - } - closedir(dir); + const char *fn = de->d_name; + if(fn[0]=='.' && (fn[1]==0 || (fn[1]=='.' && fn[2]==0))) + continue; + if(r_filter.match(fn)) + result.push_back(fn); } + closedir(dir); return result; }