Blob Blame History Raw
diff -up cups-filters-1.0.35/filter/pdf.cxx.poppler023 cups-filters-1.0.35/filter/pdf.cxx
--- cups-filters-1.0.35/filter/pdf.cxx.poppler023	2015-06-16 15:47:21.870132195 +0100
+++ cups-filters-1.0.35/filter/pdf.cxx	2015-06-16 15:47:59.623128579 +0100
@@ -17,6 +17,10 @@
 #include "pdf.h"
 
 #include <PDFDoc.h>
+#include <config.h>
+#ifdef HAVE_CPP_POPPLER_VERSION_H
+#include "cpp/poppler-version.h"
+#endif
 
 
 extern "C" pdf_t * pdf_load_template(const char *filename)
@@ -343,7 +347,11 @@ public:
     {
     }
 
+#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
+    Goffset getPos()
+#else
     int getPos()
+#endif
     {
         return this->pos;
     }
diff -up cups-filters-1.0.35/filter/pdftoijs.cxx.poppler023 cups-filters-1.0.35/filter/pdftoijs.cxx
--- cups-filters-1.0.35/filter/pdftoijs.cxx.poppler023	2015-06-16 15:47:21.871132195 +0100
+++ cups-filters-1.0.35/filter/pdftoijs.cxx	2015-06-16 15:47:59.623128579 +0100
@@ -70,8 +70,13 @@ namespace {
 }
 
 #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
+#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
+void CDECL myErrorFun(void *data, ErrorCategory category,
+    Goffset pos, char *msg)
+#else
 void CDECL myErrorFun(void *data, ErrorCategory category,
     int pos, char *msg)
+#endif
 {
   if (pos >= 0) {
     fprintf(stderr, "ERROR (%d): ", pos);
@@ -297,19 +302,15 @@ int main(int argc, char *argv[]) {
   if (argc == 6) {
     /* stdin */
     int fd;
-    Object obj;
-    BaseStream *str;
-    FILE *fp;
+    char name[BUFSIZ];
     char buf[BUFSIZ];
     int n;
 
-    fd = cupsTempFd(buf,sizeof(buf));
+    fd = cupsTempFd(name,sizeof(name));
     if (fd < 0) {
       pdfError(-1,"Can't create temporary file");
       exit(1);
     }
-    /* remove name */
-    unlink(buf);
 
     /* copy stdin to the tmp file */
     while ((n = read(0,buf,BUFSIZ)) > 0) {
@@ -319,23 +320,10 @@ int main(int argc, char *argv[]) {
 	exit(1);
       }
     }
-    if (lseek(fd,0,SEEK_SET) < 0) {
-        pdfError(-1,"Can't rewind temporary file");
-        close(fd);
-	exit(1);
-    }
-
-    if ((fp = fdopen(fd,"rb")) == 0) {
-        pdfError(-1,"Can't fdopen temporary file");
-        close(fd);
-	exit(1);
-    }
-
-    obj.initNull();
-//    parsePDFTOPDFComment(fp); // TODO?
-    rewind(fp);
-    str = new FileStream(fp,0,gFalse,0,&obj);
-    doc = new PDFDoc(str);
+    close(fd);
+    doc = new PDFDoc(new GooString(name));
+    /* remove name */
+    unlink(name);
   } else {
     GooString *fileName = new GooString(argv[6]);
     /* argc == 7 filenmae is specified */
diff -up cups-filters-1.0.35/filter/pdftoopvp/pdftoopvp.cxx.poppler023 cups-filters-1.0.35/filter/pdftoopvp/pdftoopvp.cxx
--- cups-filters-1.0.35/filter/pdftoopvp/pdftoopvp.cxx.poppler023	2015-06-16 15:47:21.871132195 +0100
+++ cups-filters-1.0.35/filter/pdftoopvp/pdftoopvp.cxx	2015-06-16 15:47:59.624128579 +0100
@@ -112,8 +112,13 @@ static int outOnePage(PDFDoc *doc, OPVPO
 #define MAX_OPVP_OPTIONS 20
 
 #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
+#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
+void CDECL myErrorFun(void *data, ErrorCategory category,
+    Goffset pos, char *msg)
+#else
 void CDECL myErrorFun(void *data, ErrorCategory category,
     int pos, char *msg)
+#endif
 {
   if (pos >= 0) {
     fprintf(stderr, "ERROR (%d): ", pos);
@@ -619,9 +624,6 @@ exit(0);
     char *s;
     GooString name;
     int fd;
-    Object obj;
-    BaseStream *str;
-    FILE *fp;
     char buf[4096];
     int n;
 
@@ -633,8 +635,6 @@ exit(0);
     }
     name.append("/XXXXXX");
     fd = mkstemp(name.getCString());
-    /* remove name */
-    unlink(name.getCString());
     if (fd < 0) {
       opvpError(-1,"Can't create temporary file");
       exitCode = 2;
@@ -675,23 +675,10 @@ exit(0);
 	goto err0;
       }
     }
-    if (lseek(fd,0,SEEK_SET) < 0) {
-	opvpError(-1,"Can't rewind temporary file");
-	close(fd);
-	exitCode = 2;
-	goto err0;
-    }
-
-    if ((fp = fdopen(fd,"rb")) == 0) {
-	opvpError(-1,"Can't fdopen temporary file");
-	close(fd);
-	exitCode = 2;
-	goto err0;
-    }
-
-    obj.initNull();
-    str = new FileStream(fp,0,gFalse,0,&obj);
-    doc = new PDFDoc(str);
+    close(fd);
+    doc = new PDFDoc(&name);
+    /* remove name */
+    unlink(name.getCString());
   } else {
     /* no jcl check */
     doc = new PDFDoc(fileName.copy());
diff -up cups-filters-1.0.35/filter/pdftoraster.cxx.poppler023 cups-filters-1.0.35/filter/pdftoraster.cxx
--- cups-filters-1.0.35/filter/pdftoraster.cxx.poppler023	2015-06-16 15:47:21.871132195 +0100
+++ cups-filters-1.0.35/filter/pdftoraster.cxx	2015-06-16 15:47:59.624128579 +0100
@@ -185,8 +185,13 @@ namespace {
 }
 
 #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
+#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
+void CDECL myErrorFun(void *data, ErrorCategory category,
+    Goffset pos, char *msg)
+#else
 void CDECL myErrorFun(void *data, ErrorCategory category,
     int pos, char *msg)
+#endif
 {
   if (pos >= 0) {
     fprintf(stderr, "ERROR (%d): ", pos);
@@ -1762,19 +1767,15 @@ int main(int argc, char *argv[]) {
   if (argc == 6) {
     /* stdin */
     int fd;
-    Object obj;
-    BaseStream *str;
-    FILE *fp;
+    char name[BUFSIZ];
     char buf[BUFSIZ];
     int n;
 
-    fd = cupsTempFd(buf,sizeof(buf));
+    fd = cupsTempFd(name,sizeof(name));
     if (fd < 0) {
       pdfError(-1,const_cast<char *>("Can't create temporary file"));
       exit(1);
     }
-    /* remove name */
-    unlink(buf);
 
     /* copy stdin to the tmp file */
     while ((n = read(0,buf,BUFSIZ)) > 0) {
@@ -1784,23 +1785,10 @@ int main(int argc, char *argv[]) {
 	exit(1);
       }
     }
-    if (lseek(fd,0,SEEK_SET) < 0) {
-        pdfError(-1,const_cast<char *>("Can't rewind temporary file"));
-        close(fd);
-	exit(1);
-    }
-
-    if ((fp = fdopen(fd,"rb")) == 0) {
-        pdfError(-1,const_cast<char *>("Can't fdopen temporary file"));
-        close(fd);
-	exit(1);
-    }
-
-    obj.initNull();
-    parsePDFTOPDFComment(fp);
-    rewind(fp);
-    str = new FileStream(fp,0,gFalse,0,&obj);
-    doc = new PDFDoc(str);
+    close(fd);
+    doc = new PDFDoc(new GooString(name));
+    /* remove name */
+    unlink(name);
   } else {
     GooString *fileName = new GooString(argv[6]);
     /* argc == 7 filenmae is specified */
diff -up cups-filters-1.0.35/NEWS.poppler023 cups-filters-1.0.35/NEWS