summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/Util.cpp')
-rw-r--r--cpp/src/Slice/Util.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/cpp/src/Slice/Util.cpp b/cpp/src/Slice/Util.cpp
index c9d19d80572..cdda7b7710f 100644
--- a/cpp/src/Slice/Util.cpp
+++ b/cpp/src/Slice/Util.cpp
@@ -49,9 +49,17 @@ normalizePath(const string& path)
++pos;
}
}
- if(result[result.size() - 1] == '/') // Remove trailing '/'
+
+ if(result.size() > 1) // Remove trailing "/" or "/."
{
- result.erase(result.size() - 1);
+ if(result[result.size() - 1] == '/')
+ {
+ result.erase(result.size() - 1);
+ }
+ else if(result[result.size() - 2] == '/' && result[result.size() - 1] == '.')
+ {
+ result.erase(result.size() - (result.size() == 2 ? 1 : 2));
+ }
}
return result;
}