diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-01-06 15:51:34 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-01-30 19:11:03 +0100 |
commit | f8eee83515032eca5e50d668ced44194eac6e36e (patch) | |
tree | bdbee189756b6f2757cf1ef7d1ffcce19b31113f | |
parent | 8dcf6da2590633e00fe9d0334692d5ca482e740a (diff) | |
download | qpdf-f8eee83515032eca5e50d668ced44194eac6e36e.tar.zst |
Expose QPDFArgParser::usage
-rw-r--r-- | include/qpdf/QPDFArgParser.hh | 7 | ||||
-rw-r--r-- | libqpdf/QPDFJob_argv.cc | 10 |
2 files changed, 7 insertions, 10 deletions
diff --git a/include/qpdf/QPDFArgParser.hh b/include/qpdf/QPDFArgParser.hh index e5b2c490..24e6ac48 100644 --- a/include/qpdf/QPDFArgParser.hh +++ b/include/qpdf/QPDFArgParser.hh @@ -150,6 +150,12 @@ class QPDFArgParser QPDF_DLL void insertCompletion(std::string const&); + // Throw a Usage exception with the given message. In completion + // mode, this just exits to prevent errors from partial commands + // or other error messages from messing up completion. + QPDF_DLL + void usage(std::string const& message); + private: struct OptionEntry { @@ -174,7 +180,6 @@ class QPDFArgParser void argCompletionBash(); void argCompletionZsh(); - void usage(std::string const& message); void checkCompletion(); void handleArgFileArguments(); void handleBashArguments(); diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc index aa2c8bf4..2e35bd74 100644 --- a/libqpdf/QPDFJob_argv.cc +++ b/libqpdf/QPDFJob_argv.cc @@ -2174,15 +2174,7 @@ ArgParser::argEndCopyAttachments() void ArgParser::usage(std::string const& message) { - if (this->ap.isCompleting()) - { - // This will cause bash to fall back to regular file completion. - exit(0); - } - else - { - throw QPDFArgParser::Usage(message); - } + this->ap.usage(message); } std::vector<int> |