From 602d5eb61dfc51078aaeb086f956b500cd4a46af Mon Sep 17 00:00:00 2001 From: m-holger Date: Thu, 16 May 2024 23:10:28 +0100 Subject: [PATCH] Refactor QUtil::call_main_from_wmain --- libqpdf/QUtil.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libqpdf/QUtil.cc b/libqpdf/QUtil.cc index c0aca10..2d9ce9b 100644 --- a/libqpdf/QUtil.cc +++ b/libqpdf/QUtil.cc @@ -1899,7 +1899,8 @@ call_main_from_wmain( // strings for compatibility with other systems. That way the rest of qpdf.cc can just act like // arguments are UTF-8. - std::vector> utf8_argv; + std::vector utf8_argv; + utf8_argv.reserve(QIntC::to_size(argc)); for (int i = 0; i < argc; ++i) { std::string utf16; for (size_t j = 0; j < std::wcslen(argv[i]); ++j) { @@ -1907,13 +1908,12 @@ call_main_from_wmain( utf16.append(1, static_cast(QIntC::to_uchar(codepoint >> 8))); utf16.append(1, static_cast(QIntC::to_uchar(codepoint & 0xff))); } - std::string utf8 = QUtil::utf16_to_utf8(utf16); - utf8_argv.push_back(QUtil::make_unique_cstr(utf8)); + utf8_argv.emplace_back(QUtil::utf16_to_utf8(utf16)); } auto utf8_argv_sp = std::make_unique(1 + utf8_argv.size()); char** new_argv = utf8_argv_sp.get(); for (size_t i = 0; i < utf8_argv.size(); ++i) { - new_argv[i] = utf8_argv.at(i).get(); + new_argv[i] = utf8_argv.at(i).data(); } argc = QIntC::to_int(utf8_argv.size()); new_argv[argc] = nullptr; -- libgit2 0.21.4