Commit 6f09069f433d974a79f991f3a4a23a4dc7ac7b6a
1 parent
602d5eb6
Further refactor QUtil::call_main_from_wmain
Showing
1 changed file
with
6 additions
and
6 deletions
libqpdf/QUtil.cc
| @@ -1910,14 +1910,14 @@ call_main_from_wmain( | @@ -1910,14 +1910,14 @@ call_main_from_wmain( | ||
| 1910 | } | 1910 | } |
| 1911 | utf8_argv.emplace_back(QUtil::utf16_to_utf8(utf16)); | 1911 | utf8_argv.emplace_back(QUtil::utf16_to_utf8(utf16)); |
| 1912 | } | 1912 | } |
| 1913 | - auto utf8_argv_sp = std::make_unique<char*[]>(1 + utf8_argv.size()); | ||
| 1914 | - char** new_argv = utf8_argv_sp.get(); | ||
| 1915 | - for (size_t i = 0; i < utf8_argv.size(); ++i) { | ||
| 1916 | - new_argv[i] = utf8_argv.at(i).data(); | 1913 | + std::vector<char*> new_argv; |
| 1914 | + new_argv.reserve(utf8_argv.size() + 1U); | ||
| 1915 | + for (auto const& arg: utf8_argv) { | ||
| 1916 | + new_argv.emplace_back(const_cast<char*>(arg.data())); | ||
| 1917 | } | 1917 | } |
| 1918 | argc = QIntC::to_int(utf8_argv.size()); | 1918 | argc = QIntC::to_int(utf8_argv.size()); |
| 1919 | - new_argv[argc] = nullptr; | ||
| 1920 | - return realmain(argc, new_argv); | 1919 | + new_argv.emplace_back(nullptr); |
| 1920 | + return realmain(argc, new_argv.data()); | ||
| 1921 | } | 1921 | } |
| 1922 | 1922 | ||
| 1923 | int | 1923 | int |