← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~widelands-dev/widelands/try_fixing_hosting_on_windows into lp:widelands

 

SirVer has proposed merging lp:~widelands-dev/widelands/try_fixing_hosting_on_windows into lp:widelands.

Requested reviews:
  Tino (tino79)
  Widelands Developers (widelands-dev)
Related bugs:
  Bug #1413326 in widelands: "Current trunk on Linux cannot join a game that is hosted on Windows"
  https://bugs.launchpad.net/widelands/+bug/1413326

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/try_fixing_hosting_on_windows/+merge/247217

Try to get rid of all \\ in windows paths. Windows seem to do nicely with /, but sending them over the network breaks stuff left and right.
-- 
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/try_fixing_hosting_on_windows into lp:widelands.
=== modified file 'src/io/filesystem/disk_filesystem.cc'
--- src/io/filesystem/disk_filesystem.cc	2014-12-03 07:15:40 +0000
+++ src/io/filesystem/disk_filesystem.cc	2015-01-21 20:47:51 +0000
@@ -22,8 +22,8 @@
 #include <cassert>
 #include <cerrno>
 
+#include <boost/algorithm/string/replace.hpp>
 #include <sys/stat.h>
-
 #ifdef _WIN32
 #include <dos.h>
 #include <windows.h>
@@ -126,6 +126,9 @@
 		}
 		const std::string filename = canonicalize_name(realpath + c_file.name);
 		const std::string result = filename.substr(m_root.size() + 1);
+
+		// Paths should not contain any windows line separators.
+		boost::replace_all(result, "\\", "/");
 		results.insert(result);
 	} while (_findnext(hFile, &c_file) == 0);
 


References