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",