[poppler] cmake/modules configure.ac utils/pdfinfo.1 utils/pdfinfo.cc

Adrian Johnson ajohnson at kemper.freedesktop.org
Tue Sep 27 20:41:49 UTC 2016


 cmake/modules/PopplerMacros.cmake |    2 
 configure.ac                      |    1 
 utils/pdfinfo.1                   |    4 -
 utils/pdfinfo.cc                  |  140 --------------------------------------
 4 files changed, 2 insertions(+), 145 deletions(-)

New commits:
commit 86e50e156952713f0ce3ecc7b6f03f06dc0902c1
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Wed Sep 28 06:10:20 2016 +0930

    Revert "pdfinfo: add -dests option to print named destinations"
    
    This reverts commit 183dbf3249e8db2398b63a749eb010bc0a89dc35.

diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
index e9b75b9..6cadf40 100644
--- a/cmake/modules/PopplerMacros.cmake
+++ b/cmake/modules/PopplerMacros.cmake
@@ -104,7 +104,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
   set(DEFAULT_COMPILE_WARNINGS_YES "-Wall -Wcast-align -fno-exceptions -fno-check-new -fno-common")
   set(DEFAULT_COMPILE_WARNINGS_KDE "-Wno-long-long -Wundef -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -Wcast-align -Wconversion -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common")
 
-  set(CMAKE_CXX_FLAGS                "-std=c++11 -Wnon-virtual-dtor -Woverloaded-virtual ${CMAKE_CXX_FLAGS}")
+  set(CMAKE_CXX_FLAGS                "-Wnon-virtual-dtor -Woverloaded-virtual ${CMAKE_CXX_FLAGS}")
   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
   set(CMAKE_CXX_FLAGS_RELEASE        "-O2 -DNDEBUG")
   set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
diff --git a/configure.ac b/configure.ac
index 9ce36e1..c4cfc2c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,7 +85,6 @@ AC_ARG_ENABLE(build-type,
               enable_build_type=no)
 
 if test "x$GCC" = "xyes"; then
-    CXXFLAGS="-std=c++11 $CXXFLAGS"
     case "$enable_build_type" in
     relwithdebinfo)
         CFLAGS="-O2 -g $CFLAGS"
diff --git a/utils/pdfinfo.1 b/utils/pdfinfo.1
index b699dff..741219f 100644
--- a/utils/pdfinfo.1
+++ b/utils/pdfinfo.1
@@ -113,10 +113,6 @@ Prints dates in ISO-8601 format (including the time zone).
 .B \-rawdates
 Prints the raw (undecoded) date strings, directly from the PDF file.
 .TP
-.B \-dests
-Print a list of all named destinations. If a page range is specified using "\-f" and "\-l", only
-destinations in the page range are listed.
-.TP
 .BI \-enc " encoding-name"
 Sets the encoding to use for text output. This defaults to "UTF-8".
 .TP
diff --git a/utils/pdfinfo.cc b/utils/pdfinfo.cc
index 50e756e..9cfdc0f 100644
--- a/utils/pdfinfo.cc
+++ b/utils/pdfinfo.cc
@@ -36,7 +36,6 @@
 #include <string.h>
 #include <time.h>
 #include <math.h>
-#include <map>
 #include "parseargs.h"
 #include "printencodings.h"
 #include "goo/GooString.h"
@@ -78,7 +77,6 @@ static GBool printHelp = gFalse;
 static GBool printEnc = gFalse;
 static GBool printStructure = gFalse;
 static GBool printStructureText = gFalse;
-static GBool printDests = gFalse;
 
 static const ArgDesc argDesc[] = {
   {"-f",      argInt,      &firstPage,        0,
@@ -99,8 +97,6 @@ static const ArgDesc argDesc[] = {
    "print the dates in ISO-8601 format"},
   {"-rawdates", argFlag,   &rawDates,         0,
    "print the undecoded date strings directly from the PDF file"},
-  {"-dests",     argFlag,  &printDests,       0,
-   "print all named destinations in the PDF"},
   {"-enc",    argString,   textEncName,    sizeof(textEncName),
    "output text encoding name"},
   {"-listenc",argFlag,     &printEnc,      0,
@@ -293,135 +289,6 @@ static void printStruct(const StructElement *element, unsigned indent) {
   }
 }
 
-struct RefCompare {
-  bool operator() (const Ref& lhs, const Ref& rhs) const {
-    return lhs.num < rhs.num;
-  }
-};
-
-struct GooStringCompare {
-  bool operator() (GooString* lhs, GooString* rhs) const {
-    return lhs->cmp(const_cast<GooString*>(rhs)) < 0;
-  }
-};
-
-static void printLinkDest(LinkDest *dest) {
-  char buf[100];
-
-  switch (dest->getKind()) {
-    case destXYZ:
-      sprintf(buf, "[ XYZ ");
-      if (dest->getChangeLeft()) {
-	sprintf(buf+strlen(buf), "%4.f ", dest->getLeft());
-      } else {
-	strcat(buf, "null ");
-      }
-      if (dest->getChangeTop()) {
-	sprintf(buf+strlen(buf), "%4.f ", dest->getTop());
-      } else {
-	strcat(buf, "null ");
-      }
-      if (dest->getChangeZoom()) {
-	sprintf(buf+strlen(buf), "%4.2f ", dest->getZoom());
-      } else {
-	strcat(buf, "null ");
-      }
-      break;
-    case destFit:
-      sprintf(buf, "[ Fit ");
-      break;
-    case destFitH:
-      if (dest->getChangeTop()) {
-	sprintf(buf, "[ FitH %4.f ", dest->getTop());
-      } else {
-	sprintf(buf, "[ FitH null ");
-      }
-      break;
-    case destFitV:
-      if (dest->getChangeLeft()) {
-	sprintf(buf, "[ FitV %4.f ", dest->getLeft());
-      } else {
-	strcat(buf, "[ FitV null ");
-      }
-      break;
-    case destFitR:
-      sprintf(buf, "[ FitR %4.f %4.f %4.f %4.f ",
-	      dest->getLeft(),
-	      dest->getBottom(),
-	      dest->getRight(),
-	      dest->getTop());
-      break;
-    case destFitB:
-      sprintf(buf, "[ FitB ");
-      break;
-    case destFitBH:
-      if (dest->getChangeTop()) {
-	sprintf(buf, "[ FitBH %4.f ", dest->getTop());
-      } else {
-	sprintf(buf, "[ FitBH null ");
-      }
-      break;
-    case destFitBV:
-      if (dest->getChangeLeft()) {
-	sprintf(buf, "[ FitBV %4.f ", dest->getLeft());
-      } else {
-	strcat(buf, "[ FitBV null ");
-      }
-      break;
-  }
-
-  strcat(buf, "                                ");
-  buf[26] = ']';
-  buf[27] = 0;
-  printf(buf);
-}
-
-static void printDestinations(PDFDoc *doc, UnicodeMap *uMap) {
-  std::map<Ref,std::map<GooString*,LinkDest*,GooStringCompare>, RefCompare > map;
-
-  int numDests = doc->getCatalog()->numDestNameTree();
-  for (int i = 0; i < numDests; i++) {
-    GooString *name = doc->getCatalog()->getDestNameTreeName(i);
-    LinkDest *dest = doc->getCatalog()->getDestNameTreeDest(i);
-    if (dest->isPageRef()) {
-      map[dest->getPageRef()].insert(std::make_pair(name, dest));
-    }
-  }
-
-  numDests = doc->getCatalog()->numDests();
-  for (int i = 0; i < numDests; i++) {
-    GooString *name = new GooString(doc->getCatalog()->getDestsName(i));
-    LinkDest *dest = doc->getCatalog()->getDestsDest(i);
-    if (dest->isPageRef()) {
-      map[dest->getPageRef()].insert(std::make_pair(name, dest));
-    }
-  }
-
-  printf("Page  Destination                 Name\n");
-  for (int i = firstPage; i <= lastPage; i++) {
-    Ref *ref = doc->getCatalog()->getPageRef(i);
-    auto pageDests = map.find(*ref);
-    if (pageDests != map.end()) {
-      for (auto& it: pageDests->second) {
-	it.first->getCString()[4] = 0;
-	printf("%4d ", i);
-	printLinkDest(it.second);
-	printf(" \"");
-	Unicode *u;
-	char buf[8];
-	int n, len;
-	len = TextStringToUCS4(it.first, &u);
-	for (int i = 0; i < len; i++) {
-	  n = uMap->mapUnicode(u[i], buf, sizeof(buf));
-	  fwrite(buf, 1, n, stdout);
-	}
-	gfree(u);
-	printf("\"\n");
-      }
-    }
-  }
-}
-
 void printInfo(PDFDoc *doc, UnicodeMap *uMap, long long filesize, GBool multiPage) {
   Page *page;
   Object info;
@@ -687,6 +554,7 @@ int main(int argc, char *argv[]) {
   }
   if (lastPage == 0) {
     multiPage = gFalse;
+    lastPage = 1;
   } else {
     multiPage = gTrue;
   }
@@ -720,8 +588,6 @@ int main(int argc, char *argv[]) {
 	printStruct(structTree->getChild(i), 0);
       }
     }
-  } else if (printDests) {
-    printDestinations(doc, uMap);
   } else {
     // print info
     long long filesize = 0;
@@ -736,10 +602,6 @@ int main(int argc, char *argv[]) {
       filesize = Gftell(f);
       fclose(f);
     }
-
-    if (multiPage == gFalse)
-      lastPage = 1;
-
     printInfo(doc, uMap, filesize, multiPage);
   }
   exitCode = 0;


More information about the poppler mailing list