The unified diff between revisions [8846a6b8..] and [ebdccab0..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'file_io.cc'

#
#
# patch "file_io.cc"
#  from [3214c2cad3ec630d8466926bd4bae693de9184a0]
#    to [3ca8050b61b62ef9010b0ebfda755a0af9269104]
#
============================================================
--- file_io.cc	3214c2cad3ec630d8466926bd4bae693de9184a0
+++ file_io.cc	3ca8050b61b62ef9010b0ebfda755a0af9269104
@@ -347,15 +347,15 @@ read_localized_data(file_path const & pa
   dat = tmp2;
 }

-void read_directory(system_path const & path,
+void read_directory(any_path const & path,
                     std::vector<utf8> & files,
                     std::vector<utf8> & dirs)
 {
   files.clear();
   dirs.clear();
   fs::directory_iterator ei;
-  for(fs::directory_iterator di(path.as_external());
-      di != ei; ++di)
+  for (fs::directory_iterator di(system_path(path).as_external());
+       di != ei; ++di)
     {
       fs::path entry = *di;
       if (!fs::exists(entry)
@@ -363,6 +363,8 @@ void read_directory(system_path const &
           || di->string() == "..")
         continue;

+      // FIXME: BUG: this screws up charsets (assumes blindly that the fs is
+      // utf8)
       if (fs::is_directory(entry))
         dirs.push_back(utf8(entry.leaf()));
       else
@@ -484,8 +486,6 @@ write_data(system_path const & path,
 {
   write_data_impl(path, data, tmpdir / (boost::format("data.tmp.%d") %
                                              get_process_id()).str());
-
-
 }

 tree_walker::~tree_walker() {}