summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-09-03 13:27:23 +0200
committerm-holger <m-holger@kubitscheck.org>2023-09-03 13:27:23 +0200
commit94e6323206b42cb7c086edd25ec15d6cea672de8 (patch)
tree63582c9010099994402d1e6e368a0e5cb5b5d189
parent0046de0852e5fcdc2dfe50de35f6a9922eb6326a (diff)
downloadqpdf-94e6323206b42cb7c086edd25ec15d6cea672de8.tar.zst
Fix exit code when an input other than the primary input generates warnings
-rw-r--r--libqpdf/QPDFJob.cc6
-rw-r--r--qpdf/qtest/page-errors.test2
-rw-r--r--qpdf/qtest/qpdf/page-missing-mediabox.out1
3 files changed, 8 insertions, 1 deletions
diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc
index bb17ae84..a997a49c 100644
--- a/libqpdf/QPDFJob.cc
+++ b/libqpdf/QPDFJob.cc
@@ -477,6 +477,12 @@ QPDFJob::createQPDF()
}
handleUnderOverlay(pdf);
handleTransformations(pdf);
+
+ for (auto& foreign: page_heap) {
+ if (foreign->anyWarnings()) {
+ m->warnings = true;
+ }
+ }
return pdf_sp;
}
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