From 42bff9f4584362f2084033795896c2e891274631 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 1 Feb 2022 13:49:11 -0500 Subject: QPDFJob: let initializeFromArgv just take argv, not argc Let argv be a null-terminated array. There is already code that assumes this, and it makes it easier to construct the arguments. --- libqpdf/qpdfjob-c.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'libqpdf/qpdfjob-c.cc') diff --git a/libqpdf/qpdfjob-c.cc b/libqpdf/qpdfjob-c.cc index e1c76477..10e13043 100644 --- a/libqpdf/qpdfjob-c.cc +++ b/libqpdf/qpdfjob-c.cc @@ -7,7 +7,7 @@ #include #include -int qpdfjob_run_from_argv(int argc, char const* const argv[]) +int qpdfjob_run_from_argv(char const* const argv[]) { auto whoami_p = QUtil::make_shared_cstr(argv[0]); auto whoami = QUtil::getWhoami(whoami_p.get()); @@ -16,7 +16,7 @@ int qpdfjob_run_from_argv(int argc, char const* const argv[]) QPDFJob j; try { - j.initializeFromArgv(argc, argv); + j.initializeFromArgv(argv); j.run(); } catch (std::exception& e) @@ -28,9 +28,17 @@ int qpdfjob_run_from_argv(int argc, char const* const argv[]) } #ifndef QPDF_NO_WCHAR_T -int qpdfjob_run_from_wide_argv(int argc, wchar_t const* const argv[]) +int qpdfjob_run_from_wide_argv(wchar_t const* const argv[]) { - return QUtil::call_main_from_wmain(argc, argv, qpdfjob_run_from_argv); + int argc = 0; + for (auto k = argv; *k; ++k) + { + ++argc; + } + return QUtil::call_main_from_wmain( + argc, argv, [](int, char const* const new_argv[]) { + return qpdfjob_run_from_argv(new_argv); + }); } #endif // QPDF_NO_WCHAR_T -- cgit v1.2.3-70-g09d2