OSDN Git Service

Use C++03...
authorMichael J. Spencer <bigcheesegs@gmail.com>
Wed, 20 Oct 2010 16:00:45 +0000 (16:00 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Wed, 20 Oct 2010 16:00:45 +0000 (16:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116927 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Win32/Path.inc

index 2dbf13e..7e22751 100644 (file)
@@ -68,7 +68,12 @@ Path::operator=(StringRef that) {
 struct ScopedNullTerminator {
   std::string &str;
   ScopedNullTerminator(std::string &s) : str(s) { str.push_back(0); }
-  ~ScopedNullTerminator() { str.pop_back(); }
+  ~ScopedNullTerminator() {
+    // str.pop_back(); But wait, C++03 doesn't have this...
+    assert(!str.empty() && str[str.size() - 1] == 0
+      && "Null char not present!");
+    str.resize(str.size() - 1);
+  }
 };
 
 bool