THRIFT-611. Under Windows when compiling using MinGW, includes are incorrectly resolved due to '/' <-> '\' havoc.

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
This commit is contained in:
Bryan Duxbury 2010-04-22 21:21:46 +00:00
parent 321eb7a2bd
commit 0137af6bf1

View File

@ -191,6 +191,15 @@ char *saferealpath(const char *path, char *resolved_path) {
CharLowerBuff(buf, len); CharLowerBuff(buf, len);
strcpy(resolved_path, buf); 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; return resolved_path;
#else #else
return realpath(path, resolved_path); return realpath(path, resolved_path);