aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-02-04 01:02:05 +0100
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2022-02-04 12:52:38 +0100
commit1925ffd4674a3b3b72ad436a79184c358507fb57 (patch)
treee0c39a1fd7e4f5755317638efadbf35d348b63dd
parent4d507251fe99b6cdb7b97c2fbe96f4b5bb518e04 (diff)
downloadqpdf-1925ffd4674a3b3b72ad436a79184c358507fb57.tar.zst
Fix --check-linearization of non-linearized files (fixes #615)
-rw-r--r--libqpdf/QPDFJob.cc7
-rw-r--r--qpdf/qtest/qpdf.test9
2 files changed, 15 insertions, 1 deletions
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",