X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=pdf%2Fxpdf%2Fpdfimages.cc;h=319e141c4df4ea389b33bfa66f343c5b8955a321;hb=f36af012943a93a0c8e1f2d36c4f5b9e1ac1b8e5;hp=898ad00ed5f5ea951f51e17e0dea99b495543c8a;hpb=2a393c134fe3fe8eb85bf818cb7ad6ae4396322a;p=evince.git diff --git a/pdf/xpdf/pdfimages.cc b/pdf/xpdf/pdfimages.cc index 898ad00e..319e141c 100644 --- a/pdf/xpdf/pdfimages.cc +++ b/pdf/xpdf/pdfimages.cc @@ -2,7 +2,7 @@ // // pdfimages.cc // -// Copyright 1998-2002 Glyph & Cog, LLC +// Copyright 1998-2003 Glyph & Cog, LLC // //======================================================================== @@ -25,13 +25,13 @@ #include "PDFDoc.h" #include "ImageOutputDev.h" #include "Error.h" -#include "config.h" +#include "xpdfconfig.h" static int firstPage = 1; static int lastPage = 0; static GBool dumpJPEG = gFalse; -static char ownerPassword[33] = ""; -static char userPassword[33] = ""; +static char ownerPassword[33] = "\001"; +static char userPassword[33] = "\001"; static GBool quiet = gFalse; static char cfgFileName[256] = ""; static GBool printVersion = gFalse; @@ -72,6 +72,9 @@ int main(int argc, char *argv[]) { GString *ownerPW, *userPW; ImageOutputDev *imgOut; GBool ok; + int exitCode; + + exitCode = 99; // parse args ok = parseArgs(argDesc, &argc, argv); @@ -81,7 +84,7 @@ int main(int argc, char *argv[]) { if (!printVersion) { printUsage("pdfimages", " ", argDesc); } - exit(1); + goto err0; } fileName = new GString(argv[1]); imgRoot = argv[2]; @@ -93,12 +96,12 @@ int main(int argc, char *argv[]) { } // open PDF file - if (ownerPassword[0]) { + if (ownerPassword[0] != '\001') { ownerPW = new GString(ownerPassword); } else { ownerPW = NULL; } - if (userPassword[0]) { + if (userPassword[0] != '\001') { userPW = new GString(userPassword); } else { userPW = NULL; @@ -111,13 +114,15 @@ int main(int argc, char *argv[]) { delete ownerPW; } if (!doc->isOk()) { - goto err; + exitCode = 1; + goto err1; } // check for copy permission if (!doc->okToCopy()) { error(-1, "Copying of images from this document is not allowed."); - goto err; + exitCode = 3; + goto err1; } // get page range @@ -128,18 +133,22 @@ int main(int argc, char *argv[]) { // write image files imgOut = new ImageOutputDev(imgRoot, dumpJPEG); - if (imgOut->isOk()) - doc->displayPages(imgOut, firstPage, lastPage, 72, 0, gFalse); + if (imgOut->isOk()) { + doc->displayPages(imgOut, firstPage, lastPage, 72, 72, 0, gTrue, gFalse); + } delete imgOut; + exitCode = 0; + // clean up - err: + err1: delete doc; delete globalParams; + err0: // check for memory leaks Object::memCheck(stderr); gMemReport(stderr); - return 0; + return exitCode; }