From 8c718b7e6f6e1fdf88ca3b93be0304d5753bc376 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 3 Jan 2022 09:44:36 -0500 Subject: Prefix program name before exception message in qpdf CLI --- qpdf/qpdf.cc | 2 +- qpdf/qtest/qpdf.test | 11 ++++++----- qpdf/qtest/qpdf/issue-100.out | 2 +- qpdf/qtest/qpdf/issue-101.out | 2 +- qpdf/qtest/qpdf/issue-141a.out | 2 +- qpdf/qtest/qpdf/issue-141b.out | 2 +- qpdf/qtest/qpdf/issue-146.out | 2 +- qpdf/qtest/qpdf/issue-147.out | 2 +- qpdf/qtest/qpdf/issue-148.out | 2 +- qpdf/qtest/qpdf/issue-150.out | 2 +- qpdf/qtest/qpdf/issue-202.out | 2 +- qpdf/qtest/qpdf/issue-263.out | 2 +- qpdf/qtest/qpdf/issue-335a.out | 2 +- qpdf/qtest/qpdf/issue-335b.out | 2 +- qpdf/qtest/qpdf/issue-99.out | 2 +- qpdf/qtest/qpdf/issue-99b.out | 2 +- 16 files changed, 21 insertions(+), 20 deletions(-) diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc index b7eba7e4..ae0f7c33 100644 --- a/qpdf/qpdf.cc +++ b/qpdf/qpdf.cc @@ -6057,7 +6057,7 @@ int realmain(int argc, char* argv[]) } catch (std::exception& e) { - std::cerr << e.what() << std::endl; + std::cerr << whoami << ": " << e.what() << std::endl; return EXIT_ERROR; } diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test index eb006f59..f8fb7950 100644 --- a/qpdf/qtest/qpdf.test +++ b/qpdf/qtest/qpdf.test @@ -3494,7 +3494,7 @@ foreach my $d ('nn', 'ny', 'yn', 'yy') $td->runtest("deterministic ID with encryption", {$td->COMMAND => "qpdf -deterministic-id encrypted-with-images.pdf a.pdf"}, - {$td->STRING => "INTERNAL ERROR: QPDFWriter::generateID" . + {$td->STRING => "qpdf: INTERNAL ERROR: QPDFWriter::generateID" . " has no data for deterministic ID." . " This may happen if deterministic ID and" . " file encryption are requested together.\n", @@ -4272,8 +4272,9 @@ $td->runtest("non-encrypted", $td->runtest("invalid password", {$td->COMMAND => "qpdf -qdf --password=quack" . " enc-R2,V1,U=view,O=view.pdf a.qdf"}, - {$td->STRING => "enc-R2,V1,U=view,O=view.pdf: invalid password\n", - $td->EXIT_STATUS => 2}, + {$td->STRING => + "qpdf: enc-R2,V1,U=view,O=view.pdf: invalid password\n", + $td->EXIT_STATUS => 2}, $td->NORMALIZE_NEWLINES); $td->runtest("C API: invalid password", {$td->COMMAND => @@ -4740,7 +4741,7 @@ foreach my $d (@unicode_pw_cases) my $exp = ''; if (ref($decode_cases) ne 'ARRAY') { - $exp = $decode_cases; + $exp = "qpdf: $decode_cases"; $decode_cases = []; } $td->runtest("encode $bits, $pw, $w_encoding", @@ -4762,7 +4763,7 @@ foreach my $d (@unicode_pw_cases) $r_output .= "trying other\n" if $tried_others; if ($xfail) { - $r_output .= "a.pdf: invalid password\n"; + $r_output .= "qpdf: a.pdf: invalid password\n"; } else { diff --git a/qpdf/qtest/qpdf/issue-100.out b/qpdf/qtest/qpdf/issue-100.out index a2db005d..a1179cb2 100644 --- a/qpdf/qtest/qpdf/issue-100.out +++ b/qpdf/qtest/qpdf/issue-100.out @@ -14,4 +14,4 @@ WARNING: issue-100.pdf (object 5 0, offset 489): attempting to recover stream le WARNING: issue-100.pdf (object 5 0, offset 489): recovered stream length: 12 WARNING: issue-100.pdf (trailer, offset 953): expected dictionary key but found non-name object; inserting key /QPDFFake1 WARNING: issue-100.pdf (trailer, offset 953): dictionary ended prematurely; using null as value for last key -issue-100.pdf (offset 1144): unable to find /Root dictionary +qpdf: issue-100.pdf (offset 1144): unable to find /Root dictionary diff --git a/qpdf/qtest/qpdf/issue-101.out b/qpdf/qtest/qpdf/issue-101.out index 6da64c7c..1f11750a 100644 --- a/qpdf/qtest/qpdf/issue-101.out +++ b/qpdf/qtest/qpdf/issue-101.out @@ -40,4 +40,4 @@ WARNING: issue-101.pdf (object 11 0, offset 639): unknown token while reading ob WARNING: issue-101.pdf (object 11 0, offset 644): unknown token while reading object; treating as string WARNING: issue-101.pdf (object 11 0, offset 644): too many errors; giving up on reading object WARNING: issue-101.pdf (object 11 0, offset 647): expected endobj -issue-101.pdf (offset 687): unable to find /Root dictionary +qpdf: issue-101.pdf (offset 687): unable to find /Root dictionary diff --git a/qpdf/qtest/qpdf/issue-141a.out b/qpdf/qtest/qpdf/issue-141a.out index 029ca271..a644926e 100644 --- a/qpdf/qtest/qpdf/issue-141a.out +++ b/qpdf/qtest/qpdf/issue-141a.out @@ -5,4 +5,4 @@ WARNING: issue-141a.pdf (xref stream: object 9 0, offset 47): unable to recover WARNING: issue-141a.pdf: file is damaged WARNING: issue-141a.pdf (xref stream, offset 3): Cross-reference stream's /W indicates entry size of 0 WARNING: issue-141a.pdf: Attempting to reconstruct cross-reference table -issue-141a.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-141a.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-141b.out b/qpdf/qtest/qpdf/issue-141b.out index 95ae4aa0..caa68c40 100644 --- a/qpdf/qtest/qpdf/issue-141b.out +++ b/qpdf/qtest/qpdf/issue-141b.out @@ -2,4 +2,4 @@ WARNING: issue-141b.pdf: can't find PDF header WARNING: issue-141b.pdf: file is damaged WARNING: issue-141b.pdf (offset 7): xref not found WARNING: issue-141b.pdf: Attempting to reconstruct cross-reference table -issue-141b.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-141b.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-146.out b/qpdf/qtest/qpdf/issue-146.out index a275957f..0aa23ed8 100644 --- a/qpdf/qtest/qpdf/issue-146.out +++ b/qpdf/qtest/qpdf/issue-146.out @@ -2,4 +2,4 @@ WARNING: issue-146.pdf: file is damaged WARNING: issue-146.pdf: can't find startxref WARNING: issue-146.pdf: Attempting to reconstruct cross-reference table WARNING: issue-146.pdf (trailer, offset 695): ignoring excessively deeply nested data structure -issue-146.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-146.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-147.out b/qpdf/qtest/qpdf/issue-147.out index e5c2edb8..58b61266 100644 --- a/qpdf/qtest/qpdf/issue-147.out +++ b/qpdf/qtest/qpdf/issue-147.out @@ -5,4 +5,4 @@ WARNING: issue-147.pdf: Attempting to reconstruct cross-reference table WARNING: issue-147.pdf (trailer, offset 9): expected dictionary key but found non-name object; inserting key /QPDFFake1 WARNING: issue-147.pdf (object 62 0, offset 88): expected endobj WARNING: issue-147.pdf (trailer, offset 90): invalid /ID in trailer dictionary -issue-147.pdf: invalid password +qpdf: issue-147.pdf: invalid password diff --git a/qpdf/qtest/qpdf/issue-148.out b/qpdf/qtest/qpdf/issue-148.out index 1239433c..a59c1343 100644 --- a/qpdf/qtest/qpdf/issue-148.out +++ b/qpdf/qtest/qpdf/issue-148.out @@ -7,4 +7,4 @@ WARNING: issue-148.pdf (offset 73): error decoding stream data for object 8 0: s WARNING: issue-148.pdf: file is damaged WARNING: issue-148.pdf (offset 73): getStreamData called on unfilterable stream WARNING: issue-148.pdf: Attempting to reconstruct cross-reference table -issue-148.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-148.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-150.out b/qpdf/qtest/qpdf/issue-150.out index f45a0977..3291f96f 100644 --- a/qpdf/qtest/qpdf/issue-150.out +++ b/qpdf/qtest/qpdf/issue-150.out @@ -2,4 +2,4 @@ WARNING: issue-150.pdf: can't find PDF header WARNING: issue-150.pdf: file is damaged WARNING: issue-150.pdf: error reading xref: overflow/underflow converting 9900000000000000000 to 64-bit integer WARNING: issue-150.pdf: Attempting to reconstruct cross-reference table -issue-150.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-150.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-202.out b/qpdf/qtest/qpdf/issue-202.out index 164c4959..8310c103 100644 --- a/qpdf/qtest/qpdf/issue-202.out +++ b/qpdf/qtest/qpdf/issue-202.out @@ -3,4 +3,4 @@ WARNING: issue-202.pdf: file is damaged WARNING: issue-202.pdf (offset 54769): expected trailer dictionary WARNING: issue-202.pdf: Attempting to reconstruct cross-reference table WARNING: issue-202.pdf (trailer, offset 55770): ignoring excessively deeply nested data structure -issue-202.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-202.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-263.out b/qpdf/qtest/qpdf/issue-263.out index 24c4ceaa..23bea64b 100644 --- a/qpdf/qtest/qpdf/issue-263.out +++ b/qpdf/qtest/qpdf/issue-263.out @@ -9,4 +9,4 @@ WARNING: issue-263.pdf (trailer, offset 82): unexpected ) WARNING: issue-263.pdf (trailer, offset 83): unknown token while reading object; treating as string WARNING: issue-263.pdf (trailer, offset 87): unexpected > WARNING: issue-263.pdf (trailer, offset 87): too many errors; giving up on reading object -issue-263.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-263.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-335a.out b/qpdf/qtest/qpdf/issue-335a.out index 7665942a..32a31fa8 100644 --- a/qpdf/qtest/qpdf/issue-335a.out +++ b/qpdf/qtest/qpdf/issue-335a.out @@ -1313,4 +1313,4 @@ WARNING: issue-335a.pdf (object 5 0, offset 23485): attempting to recover stream WARNING: issue-335a.pdf (object 5 0, offset 23485): unable to recover stream data; treating stream as empty WARNING: issue-335a.pdf (object 5 0, offset 24974): expected endobj WARNING: issue-335a.pdf (object 5 0, offset 24974): EOF after endobj -issue-335a.pdf (offset 24974): unable to find /Root dictionary +qpdf: issue-335a.pdf (offset 24974): unable to find /Root dictionary diff --git a/qpdf/qtest/qpdf/issue-335b.out b/qpdf/qtest/qpdf/issue-335b.out index de9b9044..e996d88e 100644 --- a/qpdf/qtest/qpdf/issue-335b.out +++ b/qpdf/qtest/qpdf/issue-335b.out @@ -2,4 +2,4 @@ WARNING: issue-335b.pdf: can't find PDF header WARNING: issue-335b.pdf: file is damaged WARNING: issue-335b.pdf (xref table, offset 23): invalid xref entry (obj=6) WARNING: issue-335b.pdf: Attempting to reconstruct cross-reference table -issue-335b.pdf: unable to find trailer dictionary while recovering damaged file +qpdf: issue-335b.pdf: unable to find trailer dictionary while recovering damaged file diff --git a/qpdf/qtest/qpdf/issue-99.out b/qpdf/qtest/qpdf/issue-99.out index b0ca83b0..2d661932 100644 --- a/qpdf/qtest/qpdf/issue-99.out +++ b/qpdf/qtest/qpdf/issue-99.out @@ -1,4 +1,4 @@ WARNING: issue-99.pdf: file is damaged WARNING: issue-99.pdf (offset 3526): xref not found WARNING: issue-99.pdf: Attempting to reconstruct cross-reference table -issue-99.pdf (offset 4798): unable to find /Root dictionary +qpdf: issue-99.pdf (offset 4798): unable to find /Root dictionary diff --git a/qpdf/qtest/qpdf/issue-99b.out b/qpdf/qtest/qpdf/issue-99b.out index 0615c33f..d0d199b0 100644 --- a/qpdf/qtest/qpdf/issue-99b.out +++ b/qpdf/qtest/qpdf/issue-99b.out @@ -2,4 +2,4 @@ WARNING: issue-99b.pdf: file is damaged WARNING: issue-99b.pdf (object 1 0, offset 9): object with ID 0 WARNING: issue-99b.pdf: Attempting to reconstruct cross-reference table WARNING: issue-99b.pdf: object 1 0 not found in file after regenerating cross reference table -issue-99b.pdf (offset 763): unable to find /Root dictionary +qpdf: issue-99b.pdf (offset 763): unable to find /Root dictionary -- cgit v1.2.3-54-g00ecf