X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=pdf%2Fxpdf%2Fpdffonts.cc;h=f3a1b488df2be7b3c95a6e02b8a77b93e1498c42;hb=884f739665dc56e66f51e104350f2affd33f2dd8;hp=4a6ed40138d3df04c594c49e244e7b23590e8f5c;hpb=2a393c134fe3fe8eb85bf818cb7ad6ae4396322a;p=evince.git diff --git a/pdf/xpdf/pdffonts.cc b/pdf/xpdf/pdffonts.cc index 4a6ed401..f3a1b488 100644 --- a/pdf/xpdf/pdffonts.cc +++ b/pdf/xpdf/pdffonts.cc @@ -2,7 +2,7 @@ // // pdffonts.cc // -// Copyright 2001-2002 Glyph & Cog, LLC +// Copyright 2001-2003 Glyph & Cog, LLC // //======================================================================== @@ -84,6 +84,9 @@ int main(int argc, char *argv[]) { Annots *annots; Object obj1, obj2; int pg, i; + int exitCode; + + exitCode = 99; // parse args ok = parseArgs(argDesc, &argc, argv); @@ -93,7 +96,7 @@ int main(int argc, char *argv[]) { if (!printVersion) { printUsage("pdfinfo", "", argDesc); } - exit(1); + goto err0; } fileName = new GString(argv[1]); @@ -119,7 +122,8 @@ int main(int argc, char *argv[]) { delete ownerPW; } if (!doc->isOk()) { - exit(1); + exitCode = 1; + goto err1; } // get page range @@ -155,16 +159,20 @@ int main(int argc, char *argv[]) { delete annots; } + exitCode = 0; + // clean up gfree(fonts); + err1: delete doc; delete globalParams; + err0: // check for memory leaks Object::memCheck(stderr); gMemReport(stderr); - return 0; + return exitCode; } static void scanFonts(Dict *resDict, PDFDoc *doc) { @@ -249,13 +257,17 @@ static void scanFont(GfxFont *font, PDFDoc *doc) { } // print the font info - printf("%-36s %-12s %-3s %-3s %-3s %6d %2d\n", + printf("%-36s %-12s %-3s %-3s %-3s", name ? name->getCString() : "[none]", fontTypeNames[font->getType()], font->getEmbeddedFontID(&embRef) ? "yes" : "no", subset ? "yes" : "no", - hasToUnicode ? "yes" : "no", - fontRef.num, fontRef.gen); + hasToUnicode ? "yes" : "no"); + if (fontRef.gen == 999999) { + printf(" [none]\n"); + } else { + printf(" %6d %2d\n", fontRef.num, fontRef.gen); + } if (name) { delete name; }