浏览代码

2010-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	For MINGW32 build, percent-encode non-ASCII characters in
	filename.
	* src/util.cc
Tatsuhiro Tsujikawa 15 年之前
父节点
当前提交
ba026adb5e
共有 2 个文件被更改,包括 9 次插入1 次删除
  1. 6 0
      ChangeLog
  2. 3 1
      src/util.cc

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+2010-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	For MINGW32 build, percent-encode non-ASCII characters in
+	filename.
+	* src/util.cc
+
 2010-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 2010-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 
 	Include last '/' to directory name to create. This will avoid to
 	Include last '/' to directory name to create. This will avoid to

+ 3 - 1
src/util.cc

@@ -1393,7 +1393,9 @@ std::string escapePath(const std::string& s)
        || std::find(vbegin(WIN_INVALID_PATH_CHARS),
        || std::find(vbegin(WIN_INVALID_PATH_CHARS),
                     vend(WIN_INVALID_PATH_CHARS),
                     vend(WIN_INVALID_PATH_CHARS),
                     c) != vend(WIN_INVALID_PATH_CHARS)
                     c) != vend(WIN_INVALID_PATH_CHARS)
-
+       // Since Windows does not understand UTF-8 correctly, we
+       // percent-encode character other than ASCII.
+       || c > 0x7fu
 #endif // __MINGW32__
 #endif // __MINGW32__
        ){
        ){
       d += fmt("%%%02X", c);
       d += fmt("%%%02X", c);