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