aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdfjob-c.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-02-01 19:49:11 +0100
committerJay Berkenbilt <ejb@ql.org>2022-02-01 19:50:58 +0100
commit42bff9f4584362f2084033795896c2e891274631 (patch)
tree4c317d9db160535848b036f47dd646884e1d6ab0 /libqpdf/qpdfjob-c.cc
parenta0d9d9923ce397d46680a9b180f253b39135ece2 (diff)
downloadqpdf-42bff9f4584362f2084033795896c2e891274631.tar.zst
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.
Diffstat (limited to 'libqpdf/qpdfjob-c.cc')
-rw-r--r--libqpdf/qpdfjob-c.cc16
1 files changed, 12 insertions, 4 deletions
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 <cstdio>
#include <cstring>
-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