THRIFT-611. Under Windows when compiling using MinGW, includes are incorrectly resol...
authorBryan Duxbury <bryanduxbury@apache.org>
Thu, 22 Apr 2010 21:21:46 +0000 (21:21 +0000)
committerBryan Duxbury <bryanduxbury@apache.org>
Thu, 22 Apr 2010 21:21:46 +0000 (21:21 +0000)
This patch ensures the proper slashes are used based on the platform.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@937070 13f79535-47bb-0310-9956-ffa450edef68

compiler/cpp/src/main.cc

index 507aaee..2c83690 100644 (file)
@@ -191,6 +191,15 @@ char *saferealpath(const char *path, char *resolved_path) {
     CharLowerBuff(buf, len);
     strcpy(resolved_path, buf);
   }
+
+  // Replace backslashes with forward slashes so the
+  // rest of the code behaves correctly.
+  size_t resolved_len = strlen(resolved_path);
+  for (size_t i = 0; i < resolved_len; i++) {
+    if (resolved_path[i] == '\\') {
+      resolved_path[i] = '/';
+    }
+  }
   return resolved_path;
 #else
   return realpath(path, resolved_path);