[poppler] cmake/modules configure.ac utils/pdfinfo.1 utils/pdfinfo.cc
Adrian Johnson
ajohnson at redneon.com
Wed Sep 28 22:44:30 UTC 2016
I am planning to rework the patch when I get time.
On 29/09/16 06:50, Albert Astals Cid wrote:
> 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
>
>
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/poppler
>
More information about the poppler
mailing list