diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-08-05 14:16:38 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-08-05 14:16:38 +0000 |
commit | 7a92377a2bcc20b2ecf83b4bdd2c70e8ec8bb4eb (patch) | |
tree | f56883daeebb814ed99e3a62f28bb4b2ad647cb8 /llvm/lib/Support/YAMLTraits.cpp | |
parent | 9aad599700f825707443fc0dce1f80a2a78bc3fb (diff) | |
download | bcm5719-llvm-7a92377a2bcc20b2ecf83b4bdd2c70e8ec8bb4eb.tar.gz bcm5719-llvm-7a92377a2bcc20b2ecf83b4bdd2c70e8ec8bb4eb.zip |
[YAMLTraits] Use StringRef::copy. No functionality change.
llvm-svn: 244044
Diffstat (limited to 'llvm/lib/Support/YAMLTraits.cpp')
-rw-r--r-- | llvm/lib/Support/YAMLTraits.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/llvm/lib/Support/YAMLTraits.cpp b/llvm/lib/Support/YAMLTraits.cpp index 6b59a16514b..2aa6e9b7468 100644 --- a/llvm/lib/Support/YAMLTraits.cpp +++ b/llvm/lib/Support/YAMLTraits.cpp @@ -332,17 +332,12 @@ std::unique_ptr<Input::HNode> Input::createHNodes(Node *N) { StringRef KeyStr = SN->getValue(StringStorage); if (!StringStorage.empty()) { // Copy string to permanent storage - unsigned Len = StringStorage.size(); - char *Buf = StringAllocator.Allocate<char>(Len); - memcpy(Buf, &StringStorage[0], Len); - KeyStr = StringRef(Buf, Len); + KeyStr = StringStorage.str().copy(StringAllocator); } return llvm::make_unique<ScalarHNode>(N, KeyStr); } else if (BlockScalarNode *BSN = dyn_cast<BlockScalarNode>(N)) { - StringRef Value = BSN->getValue(); - char *Buf = StringAllocator.Allocate<char>(Value.size()); - memcpy(Buf, Value.data(), Value.size()); - return llvm::make_unique<ScalarHNode>(N, StringRef(Buf, Value.size())); + StringRef ValueCopy = BSN->getValue().copy(StringAllocator); + return llvm::make_unique<ScalarHNode>(N, ValueCopy); } else if (SequenceNode *SQ = dyn_cast<SequenceNode>(N)) { auto SQHNode = llvm::make_unique<SequenceHNode>(N); for (Node &SN : *SQ) { @@ -365,10 +360,7 @@ std::unique_ptr<Input::HNode> Input::createHNodes(Node *N) { StringRef KeyStr = KeyScalar->getValue(StringStorage); if (!StringStorage.empty()) { // Copy string to permanent storage - unsigned Len = StringStorage.size(); - char *Buf = StringAllocator.Allocate<char>(Len); - memcpy(Buf, &StringStorage[0], Len); - KeyStr = StringRef(Buf, Len); + KeyStr = StringStorage.str().copy(StringAllocator); } auto ValueHNode = this->createHNodes(KVN.getValue()); if (EC) |