diff options
Diffstat (limited to 'cpp/src/Slice/CPlusPlusUtil.cpp')
-rw-r--r-- | cpp/src/Slice/CPlusPlusUtil.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp index 27e31914a31..bc744762e34 100644 --- a/cpp/src/Slice/CPlusPlusUtil.cpp +++ b/cpp/src/Slice/CPlusPlusUtil.cpp @@ -31,12 +31,16 @@ string Slice::changeInclude(const string& orig, const vector<string>& includePaths) { string file = orig; - + replace(file.begin(), file.end(), '\\', '/'); + for (vector<string>::const_iterator p = includePaths.begin(); p != includePaths.end(); ++p) { - if (orig.compare(0, p->length(), *p) == 0) + string includePath = *p; + replace(includePath.begin(), includePath.end(), '\\', '/'); + + if (orig.compare(0, includePath.length(), *p) == 0) { - string s = orig.substr(p->length()); + string s = orig.substr(includePath.length()); if (s.size() < file.size()) { file = s; |