Commit 5fdf37b1bac9cfa1b1f77f47aded7f916fd81fd9

Authored by Jay Berkenbilt
1 parent 2046f653

Handle warnings in --pages from other files

Warnings were not being handled per --no-warn or generating exit code 3.
Showing 1 changed file with 9 additions and 5 deletions
qpdf/qpdf.cc
... ... @@ -5000,7 +5000,7 @@ static bool should_remove_unreferenced_resources(QPDF& pdf, Options& o)
5000 5000 return false;
5001 5001 }
5002 5002  
5003   -static void handle_page_specs(QPDF& pdf, Options& o)
  5003 +static void handle_page_specs(QPDF& pdf, Options& o, bool& warnings)
5004 5004 {
5005 5005 // Parse all page specifications and translate them into lists of
5006 5006 // actual pages.
... ... @@ -5261,6 +5261,10 @@ static void handle_page_specs(QPDF& pdf, Options& o)
5261 5261 selected_from_orig.insert(pageno);
5262 5262 }
5263 5263 }
  5264 + if (page_data.qpdf->anyWarnings())
  5265 + {
  5266 + warnings = true;
  5267 + }
5264 5268 if (cis)
5265 5269 {
5266 5270 cis->stayOpen(false);
... ... @@ -5819,9 +5823,10 @@ int realmain(int argc, char* argv[])
5819 5823 return EXIT_IS_NOT_ENCRYPTED;
5820 5824 }
5821 5825 }
  5826 + bool other_warnings = false;
5822 5827 if (! o.page_specs.empty())
5823 5828 {
5824   - handle_page_specs(pdf, o);
  5829 + handle_page_specs(pdf, o, other_warnings);
5825 5830 }
5826 5831 if (! o.rotations.empty())
5827 5832 {
... ... @@ -5829,7 +5834,6 @@ int realmain(int argc, char* argv[])
5829 5834 }
5830 5835 handle_under_overlay(pdf, o);
5831 5836 handle_transformations(pdf, o);
5832   - bool split_warnings = false;
5833 5837  
5834 5838 if ((o.outfilename == 0) && (! o.replace_input))
5835 5839 {
... ... @@ -5837,13 +5841,13 @@ int realmain(int argc, char* argv[])
5837 5841 }
5838 5842 else if (o.split_pages)
5839 5843 {
5840   - do_split_pages(pdf, o, split_warnings);
  5844 + do_split_pages(pdf, o, other_warnings);
5841 5845 }
5842 5846 else
5843 5847 {
5844 5848 write_outfile(pdf, o);
5845 5849 }
5846   - if ((! pdf.getWarnings().empty()) || split_warnings)
  5850 + if ((! pdf.getWarnings().empty()) || other_warnings)
5847 5851 {
5848 5852 if (! o.suppress_warnings)
5849 5853 {
... ...