From ed8159b0ba705062b6bd8e5c624648642e696662 Mon Sep 17 00:00:00 2001 From: "Nelson Efrain A. Cruz" Date: Tue, 3 Dec 2019 13:24:48 -0300 Subject: Fixes pdfsig exit code when dumping signatures --- utils/pdfsig.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/utils/pdfsig.cc b/utils/pdfsig.cc index 505d72a3..aadccc06 100644 --- a/utils/pdfsig.cc +++ b/utils/pdfsig.cc @@ -96,12 +96,12 @@ static char *getReadableTime(time_t unix_time) return time_str; } -static void dumpSignature(int sig_num, int sigCount, FormWidgetSignature *sig_widget, const char *filename) +static bool dumpSignature(int sig_num, int sigCount, FormWidgetSignature *sig_widget, const char *filename) { const GooString *signature = sig_widget->getSignature(); if (!signature) { printf("Cannot dump signature #%d\n", sig_num); - return; + return false; } const int sigCountLength = numberOfCharacters(sigCount); @@ -116,6 +116,8 @@ static void dumpSignature(int sig_num, int sigCount, FormWidgetSignature *sig_wi outfile.close(); delete format; delete path; + + return true; } static GooString nssDir; @@ -156,7 +158,7 @@ int main(int argc, char *argv[]) Win32Console win32Console(&argc, &argv); int exitCode = 99; - bool ok; + bool ok, dumpingOk; ok = parseArgs(argDesc, &argc, argv); @@ -189,9 +191,13 @@ int main(int argc, char *argv[]) if (sigCount >= 1) { if (dumpSignatures) { + exitCode = 0; printf("Dumping Signatures: %u\n", sigCount); for (unsigned int i = 0; i < sigCount; i++) { - dumpSignature(i, sigCount, sig_widgets.at(i), fileName->c_str()); + dumpingOk = dumpSignature(i, sigCount, sig_widgets.at(i), fileName->c_str()); + if (!dumpingOk) { + exitCode = 99; + } } goto end; } else { -- cgit v1.2.3