diff options
author | Jay Berkenbilt <ejb@ql.org> | 2024-01-09 17:41:18 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2024-01-10 22:44:17 +0100 |
commit | 34f013c1be56abac1104812938eb0af568df99e1 (patch) | |
tree | d3778a78539b58013b36ede9260e5a5efc86d093 /libqpdf/QPDFJob_json.cc | |
parent | 20a134826c6f33fab81b0cdb9ba2d75fb03d1b59 (diff) | |
download | qpdf-34f013c1be56abac1104812938eb0af568df99e1.tar.zst |
Allow --file and --range with --pages
Accept --file and --range as named parameters in additional to
allowing positional arguments. This is in preparation for adding
additional flags.
Diffstat (limited to 'libqpdf/QPDFJob_json.cc')
-rw-r--r-- | libqpdf/QPDFJob_json.cc | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/libqpdf/QPDFJob_json.cc b/libqpdf/QPDFJob_json.cc index 754cb81b..5565ea93 100644 --- a/libqpdf/QPDFJob_json.cc +++ b/libqpdf/QPDFJob_json.cc @@ -467,25 +467,17 @@ Handlers::endPagesArray() void Handlers::beginPages(JSON j) { - std::string file; - std::string range("1-z"); - std::string password; bool file_seen = false; - bool password_seen = false; - j.forEachDictItem([&](std::string const& key, JSON value) { + j.forEachDictItem([&](std::string const& key, JSON const& value) { if (key == "file") { - file_seen = value.getString(file); - } else if (key == "range") { - value.getString(range); - } else if (key == "password") { - password_seen = value.getString(password); + std::string v; + file_seen = value.getString(v); } }); if (!file_seen) { QTC::TC("qpdf", "QPDFJob json pages no file"); usage("file is required in page specification"); } - this->c_pages->pageSpec(file, range, password_seen ? password.c_str() : nullptr); } void @@ -495,24 +487,9 @@ Handlers::endPages() } void -Handlers::setupPagesFile() -{ - // handled in beginPages - ignoreItem(); -} - -void Handlers::setupPagesPassword() { - // handled in beginPages - ignoreItem(); -} - -void -Handlers::setupPagesRange() -{ - // handled in beginPages - ignoreItem(); + addParameter([this](char const* p) { c_pages->password(p); }); } void |