aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFParser.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-10-27 15:07:01 +0200
committerm-holger <m-holger@kubitscheck.org>2023-10-27 15:16:51 +0200
commit29cd8f4f53dcad517ecba37978d6073daf43d819 (patch)
treee0e4a266994a5c58098c815bdc7f597cd4d77142 /libqpdf/QPDFParser.cc
parent81823f4032caefd1050bccb207d315839c1c48db (diff)
downloadqpdf-29cd8f4f53dcad517ecba37978d6073daf43d819.tar.zst
Avoid unnecessary string copies in QPDFParser::parse
Fixes #864. QPDFTokenizer::getValue originally had a std::string_view return type, which was changed to std::string without removing some unnecessary string creation.
Diffstat (limited to 'libqpdf/QPDFParser.cc')
-rw-r--r--libqpdf/QPDFParser.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/libqpdf/QPDFParser.cc b/libqpdf/QPDFParser.cc
index 6dcbddb5..2716c34d 100644
--- a/libqpdf/QPDFParser.cc
+++ b/libqpdf/QPDFParser.cc
@@ -156,8 +156,7 @@ QPDFParser::parse(bool& empty, bool content_stream)
break;
case QPDFTokenizer::tt_integer:
- object = QPDF_Integer::create(
- QUtil::string_to_ll(std::string(tokenizer.getValue()).c_str()));
+ object = QPDF_Integer::create(QUtil::string_to_ll(tokenizer.getValue().c_str()));
break;
case QPDFTokenizer::tt_real:
@@ -166,7 +165,7 @@ QPDFParser::parse(bool& empty, bool content_stream)
case QPDFTokenizer::tt_name:
{
- auto name = tokenizer.getValue();
+ auto const& name = tokenizer.getValue();
object = QPDF_Name::create(name);
if (name == "/Contents") {
@@ -179,7 +178,7 @@ QPDFParser::parse(bool& empty, bool content_stream)
case QPDFTokenizer::tt_word:
{
- auto value = tokenizer.getValue();
+ auto const& value = tokenizer.getValue();
auto size = olist.size();
if (content_stream) {
object = QPDF_Operator::create(value);
@@ -226,7 +225,7 @@ QPDFParser::parse(bool& empty, bool content_stream)
case QPDFTokenizer::tt_string:
{
- auto val = tokenizer.getValue();
+ auto const& val = tokenizer.getValue();
if (decrypter) {
if (b_contents) {
frame.contents_string = val;