aboutsummaryrefslogtreecommitdiff
path: root/strutil.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-06-18 11:01:51 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-06-18 11:25:45 +0900
commit8f68bd3becce2fa8f442468691c2555d5a2f37e0 (patch)
treec36a9cbc2a37b6df40ba4cb0f371d0d73da42d88 /strutil.cc
parente22fe8efc0689cca613cbe72d5daa307889cadb1 (diff)
[C++] Introduce ScopedTerminator
Diffstat (limited to 'strutil.cc')
-rw-r--r--strutil.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/strutil.cc b/strutil.cc
index d09abda..316a657 100644
--- a/strutil.cc
+++ b/strutil.cc
@@ -77,6 +77,15 @@ void WordWriter::Write(StringPiece s) {
AppendString(s, out_);
}
+ScopedTerminator::ScopedTerminator(StringPiece s)
+ : s_(s), c_(s[s.size()]) {
+ const_cast<char*>(s_.data())[s_.size()] = '\0';
+}
+
+ScopedTerminator::~ScopedTerminator() {
+ const_cast<char*>(s_.data())[s_.size()] = c_;
+}
+
static unordered_map<StringPiece, char*>* g_symtab;
void InitSymtab() {