summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Preprocessor.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2009-06-04 10:31:47 -0230
committerDwayne Boone <dwayne@zeroc.com>2009-06-04 10:31:47 -0230
commitd3589e1b52669915eb50b2f406eda58c52a853db (patch)
tree1737601c9a56567219ae1f58e2743f17e39b85ad /cpp/src/Slice/Preprocessor.cpp
parentLots of javadoc comments. (diff)
downloadice-d3589e1b52669915eb50b2f406eda58c52a853db.tar.bz2
ice-d3589e1b52669915eb50b2f406eda58c52a853db.tar.xz
ice-d3589e1b52669915eb50b2f406eda58c52a853db.zip
Added workaround for mcpp bug
Diffstat (limited to 'cpp/src/Slice/Preprocessor.cpp')
-rw-r--r--cpp/src/Slice/Preprocessor.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/Slice/Preprocessor.cpp b/cpp/src/Slice/Preprocessor.cpp
index 36e51ffa16d..832f0ae5756 100644
--- a/cpp/src/Slice/Preprocessor.cpp
+++ b/cpp/src/Slice/Preprocessor.cpp
@@ -87,7 +87,16 @@ Slice::Preprocessor::normalizeIncludePath(const string& path)
{
string result = path;
- replace(result.begin(), result.end(), '\\', '/');
+#ifdef _WIN32
+ //
+ // MCPP does not handle "-IC:/" well as an include path.
+ //
+ if(path.size() != 3 || !(path[0] >= 'A' && path[0] <= 'Z') || (path[0] >= 'a' && path[0] <= 'z') ||
+ path[1] != ':' || path[2] != '\\')
+#endif
+ {
+ replace(result.begin(), result.end(), '\\', '/');
+ }
string::size_type startReplace = 0;
#ifdef _WIN32