summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2023-09-03 14:06:47 +0200
committerJay Berkenbilt <ejb@ql.org>2023-09-03 14:07:07 +0200
commitfa3cdaf1b46dcbb583393f93a02f89207ba21a88 (patch)
tree528b5b6a87a7e5d41413f0a3373b8379ffedd410
parentdedf9a06dfd33eadc86765f813082dcc35bf33f6 (diff)
downloadqpdf-fa3cdaf1b46dcbb583393f93a02f89207ba21a88.tar.zst
Check for warnings in files used by --pages
-rw-r--r--ChangeLog6
-rw-r--r--libqpdf/QPDFJob.cc5
-rw-r--r--qpdf/qtest/page-errors.test2
-rw-r--r--qpdf/qtest/qpdf/page-missing-mediabox.out1
4 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c2bb836..168d8d70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-09-03 Jay Berkenbilt <ejb@ql.org>
+
+ * Bug fix: with --pages, if one of the external files had warnings
+ but the main file did not, the warning was previously not taken
+ into consideration when determining the exit status.
+
2023-09-02 Jay Berkenbilt <ejb@ql.org>
* Bug fix from M. Holger: allow fix-qdf to read from pipe. Fixes #1010.
diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc
index b8ae7787..adce2358 100644
--- a/libqpdf/QPDFJob.cc
+++ b/libqpdf/QPDFJob.cc
@@ -2561,6 +2561,11 @@ QPDFJob::handlePageSpecs(QPDF& pdf, std::vector<std::unique_ptr<QPDF>>& page_hea
}
}
}
+ for (auto const& p: page_spec_qpdfs) {
+ if (!p.second->getWarnings().empty()) {
+ m->warnings = true;
+ }
+ }
}
void
diff --git a/qpdf/qtest/page-errors.test b/qpdf/qtest/page-errors.test
index 60894f96..3f14f24e 100644
--- a/qpdf/qtest/page-errors.test
+++ b/qpdf/qtest/page-errors.test
@@ -22,7 +22,7 @@ $td->runtest("handle page no with contents",
$td->NORMALIZE_NEWLINES);
$td->runtest("handle page with missing MediaBox",
{$td->COMMAND => "qpdf --static-id --empty --pages page-no-content.pdf -- out.pdf"},
- {$td->FILE => "page-missing-mediabox.out", $td->EXIT_STATUS => 0},
+ {$td->FILE => "page-missing-mediabox.out", $td->EXIT_STATUS => 3},
$td->NORMALIZE_NEWLINES);
$td->runtest("check output",
{$td->FILE => "out.pdf"},
diff --git a/qpdf/qtest/qpdf/page-missing-mediabox.out b/qpdf/qtest/qpdf/page-missing-mediabox.out
index 9db62ed6..91e85707 100644
--- a/qpdf/qtest/qpdf/page-missing-mediabox.out
+++ b/qpdf/qtest/qpdf/page-missing-mediabox.out
@@ -1 +1,2 @@
WARNING: page-no-content.pdf, object 4 0 at offset 288: kid 1 (from 0) MediaBox is undefined; setting to letter / ANSI A
+qpdf: operation succeeded with warnings; resulting file may have some problems