diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-01-26 19:56:13 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-01-30 19:11:03 +0100 |
commit | 2c7b583b3aaed1902ca3cca2387414391fc3fe65 (patch) | |
tree | fd69a4d3095b0d40a5c9377e6d23f301f08cd8b0 /libqpdf/QPDFJob_argv.cc | |
parent | ac56e013d6fb55df85216261228226849fcbab02 (diff) | |
download | qpdf-2c7b583b3aaed1902ca3cca2387414391fc3fe65.tar.zst |
QPDFJob: move input/output handling into config
Diffstat (limited to 'libqpdf/QPDFJob_argv.cc')
-rw-r--r-- | libqpdf/QPDFJob_argv.cc | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc index c4a7834a..71654e65 100644 --- a/libqpdf/QPDFJob_argv.cc +++ b/libqpdf/QPDFJob_argv.cc @@ -37,7 +37,6 @@ namespace void initOptionTables(); QPDFArgParser ap; - QPDFJob& o; std::shared_ptr<QPDFJob::Config> c_main; std::shared_ptr<QPDFJob::CopyAttConfig> c_copy_att; std::shared_ptr<QPDFJob::AttConfig> c_att; @@ -46,15 +45,18 @@ namespace std::shared_ptr<QPDFJob::EncConfig> c_enc; std::vector<char*> accumulated_args; // points to member in ap char* pages_password; + bool gave_input; + bool gave_output; }; } ArgParser::ArgParser(QPDFArgParser& ap, std::shared_ptr<QPDFJob::Config> c_main, QPDFJob& o) : ap(ap), - o(o), c_main(c_main), - pages_password(nullptr) + pages_password(nullptr), + gave_input(false), + gave_output(false) { initOptionTables(); } @@ -73,13 +75,15 @@ ArgParser::initOptionTables() void ArgParser::argPositional(char* arg) { - if (o.infilename == 0) + if (! this->gave_input) { - o.infilename = QUtil::make_shared_cstr(arg); + c_main->inputFile(arg); + this->gave_input = true; } - else if (o.outfilename == 0) + else if (! this->gave_output) { - o.outfilename = QUtil::make_shared_cstr(arg); + c_main->outputFile(arg); + this->gave_output = true; } else { @@ -90,13 +94,15 @@ ArgParser::argPositional(char* arg) void ArgParser::argEmpty() { - o.infilename = QUtil::make_shared_cstr(""); + c_main->emptyInput(); + this->gave_input = true; } void ArgParser::argReplaceInput() { - o.replace_input = true; + c_main->replaceInput(); + this->gave_output = true; } void |