diff options
Diffstat (limited to 'indra/llfilesystem/lldir.cpp')
-rw-r--r-- | indra/llfilesystem/lldir.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/llfilesystem/lldir.cpp b/indra/llfilesystem/lldir.cpp index e8e5d6538b..918bb0d117 100644 --- a/indra/llfilesystem/lldir.cpp +++ b/indra/llfilesystem/lldir.cpp @@ -110,9 +110,10 @@ std::vector<std::string> LLDir::getFilesInDir(const std::string &dirname) std::vector<std::string> v; - if (exists(p)) + boost::system::error_code ec; + if (exists(p, ec) && !ec.failed()) { - if (is_directory(p)) + if (is_directory(p, ec) && !ec.failed()) { boost::filesystem::directory_iterator end_iter; for (boost::filesystem::directory_iterator dir_itr(p); @@ -121,7 +122,11 @@ std::vector<std::string> LLDir::getFilesInDir(const std::string &dirname) { if (boost::filesystem::is_regular_file(dir_itr->status())) { +#if LL_WINDOWS + v.push_back(utf16str_to_utf8str(dir_itr->path().filename().wstring())); +#else v.push_back(dir_itr->path().filename().string()); +#endif } } } |