From f0a8178091dfc87bbf9a6751f8fedf007e8eb144 Mon Sep 17 00:00:00 2001 From: m-holger Date: Thu, 16 Jun 2022 17:45:04 +0100 Subject: Refactor QPDFObject creation and cloning Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject. --- libqpdf/QPDF_String.cc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'libqpdf/QPDF_String.cc') diff --git a/libqpdf/QPDF_String.cc b/libqpdf/QPDF_String.cc index 4d45d851..b038366b 100644 --- a/libqpdf/QPDF_String.cc +++ b/libqpdf/QPDF_String.cc @@ -1,6 +1,5 @@ #include -#include #include // DO NOT USE ctype -- it is locale dependent for some things, and @@ -26,14 +25,26 @@ QPDF_String::QPDF_String(std::string const& val) : { } -QPDF_String* -QPDF_String::new_utf16(std::string const& utf8_val) +std::shared_ptr +QPDF_String::create(std::string const& val) +{ + return do_create(new QPDF_String(val)); +} + +std::shared_ptr +QPDF_String::create_utf16(std::string const& utf8_val) { std::string result; if (!QUtil::utf8_to_pdf_doc(utf8_val, result, '?')) { result = QUtil::utf8_to_utf16(utf8_val); } - return new QPDF_String(result); + return do_create(new QPDF_String(result)); +} + +std::shared_ptr +QPDF_String::shallowCopy() +{ + return create(val); } std::string -- cgit v1.2.3-54-g00ecf