From 1925ffd4674a3b3b72ad436a79184c358507fb57 Mon Sep 17 00:00:00 2001 From: m-holger Date: Fri, 4 Feb 2022 00:02:05 +0000 Subject: [PATCH] Fix --check-linearization of non-linearized files (fixes #615) --- libqpdf/QPDFJob.cc | 7 ++++++- qpdf/qtest/qpdf.test | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index ccdf5158..41166f9e 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -1979,7 +1979,12 @@ QPDFJob::doInspection(QPDF& pdf) } if (m->check_linearization) { - if (pdf.checkLinearization()) + if (! pdf.isLinearized()) + { + *(this->m->cout) + << m->infilename << " is not linearized" << std::endl; + } + else if (pdf.checkLinearization()) { *(this->m->cout) << m->infilename << ": no linearization errors" << std::endl; diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test index dcc707a3..58d4102f 100644 --- a/qpdf/qtest/qpdf.test +++ b/qpdf/qtest/qpdf.test @@ -4486,6 +4486,15 @@ $td->runtest("check linearization", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); +# Test --check-linearization of non-linearized file +$n_tests += 1; +$td->runtest("check linearization of non-linearized file", + {$td->COMMAND => "qpdf --check-linearization minimal.pdf"}, + {$td->STRING => "minimal.pdf is not linearized\n", + $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); + + # Test AES encryption in various ways. $n_tests += 18; $td->runtest("encrypt with AES",