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

Albert Astals Cid aacid at kde.org
Wed Sep 28 21:20:39 UTC 2016


Is there so much C++11 need there that you can't have the feature without it?

Cheers,
  Albert

El dimarts, 27 de setembre de 2016, a les 20:41:49 CEST, Adrian Johnson va 
escriure:
>  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;
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/poppler




More information about the poppler mailing list