From b14146667f4cd6cbc5d5821c88e47096df3c78b5 Mon Sep 17 00:00:00 2001
From: Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Date: Sat, 28 Apr 2018 07:36:22 +0000
Subject: support poppler-0.64.0

git-svn-id: svn://tug.org/texlive/trunk@47470 c570f23f-e606-0410-a88d-b1316a301751
---
 Build/source/texk/web2c/luatexdir/image/pdftoepdf.w       |  4 ++--
 Build/source/texk/web2c/luatexdir/lua/lepdflib.cc         |  4 ++--
 Build/source/texk/web2c/pdftexdir/ChangeLog               |  5 +++++
 Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc | 14 +++++++-------
 Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc  |  2 +-
 5 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w b/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w
index 7ba2973..d697959 100644
--- Build/source/texk/web2c/luatexdir/image/pdftoepdf.w
+++ Build/source/texk/web2c/luatexdir/image/pdftoepdf.w
@@ -472,10 +472,10 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj)
         break;
     */
     case objString:
-        copyString(pdf, obj->getString());
+        copyString(pdf, (GooString *)obj->getString());
         break;
     case objName:
-        copyName(pdf, obj->getName());
+        copyName(pdf, (char *)obj->getName());
         break;
     case objNull:
         pdf_add_null(pdf);
diff --git a/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc b/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc
index a16bf3b..32bcdab 100644
--- Build/source/texk/web2c/luatexdir/lua/lepdflib.cc
+++ Build/source/texk/web2c/luatexdir/lua/lepdflib.cc
@@ -674,7 +674,7 @@ static int m_##in##_##function(lua_State * L)                  \
     uin = (udstruct *) luaL_checkudata(L, 1, M_##in);          \
     if (uin->pd != NULL && uin->pd->pc != uin->pc)             \
         pdfdoc_changed_error(L);                               \
-    gs = ((in *) uin->d)->function();                          \
+    gs = (GooString *)((in *) uin->d)->function();             \
     if (gs != NULL)                                            \
         lua_pushlstring(L, gs->getCString(), gs->getLength()); \
     else                                                       \
@@ -1813,7 +1813,7 @@ static int m_Object_getString(lua_State * L)
     if (uin->pd != NULL && uin->pd->pc != uin->pc)
         pdfdoc_changed_error(L);
     if (((Object *) uin->d)->isString()) {
-        gs = ((Object *) uin->d)->getString();
+        gs = (GooString *)((Object *) uin->d)->getString();
         lua_pushlstring(L, gs->getCString(), gs->getLength());
     } else
         lua_pushnil(L);
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index c022bc2..f4af035 100644
--- Build/source/texk/web2c/pdftexdir/ChangeLog
+++ Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,8 @@
+2018-04-28  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
+
+	* pdftoepdf-newpoppler.cc, pdftosrc-newpoppler.cc:
+	Support poppler 0.64.0.
+
 2018-04-14  Karl Berry  <karl@tug.org>
 
 	* TeX Live 2018 release, pdftex 1.40.19.
diff --git a/Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc b/Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc
index 10fea29..750579d 100644
--- Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc
+++ Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc
@@ -290,7 +290,7 @@ static void copyName(char *s)
 static void copyDictEntry(Object * obj, int i)
 {
     Object obj1;
-    copyName(obj->dictGetKey(i));
+    copyName((char *)obj->dictGetKey(i));
     pdf_puts(" ");
     obj1 = obj->dictGetValNF(i);
     copyObject(&obj1);
@@ -355,7 +355,7 @@ static void copyProcSet(Object * obj)
         if (!procset.isName())
             pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
                         procset.getTypeName());
-        copyName(procset.getName());
+        copyName((char *)procset.getName());
         pdf_puts(" ");
     }
     pdf_puts("]\n");
@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object * fontRef)
         && fontdescRef.isRef()
         && fontdesc.isDict()
         && embeddableFont(&fontdesc)
-        && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
+        && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
         // round /StemV value, since the PDF input is a float
         // (see Font Descriptors in PDF reference), but we only store an
         // integer, since we don't want to change the struct.
@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * fontRef)
         charset = fontdesc.dictLookup("CharSet");
         if (!charset.isNull() &&
             charset.isString() && is_subsetable(fontmap))
-            epdf_mark_glyphs(fd, charset.getString()->getCString());
+            epdf_mark_glyphs(fd, (char *)charset.getString()->getCString());
         else
             embed_whole_font(fd);
         addFontDesc(fontdescRef.getRef(), fd);
@@ -456,7 +456,7 @@ static void copyFontResources(Object * obj)
         if (fontRef.isRef())
             copyFont(obj->dictGetKey(i), &fontRef);
         else if (fontRef.isDict()) {   // some programs generate pdf with embedded font object
-            copyName(obj->dictGetKey(i));
+            copyName((char *)obj->dictGetKey(i));
             pdf_puts(" ");
             copyObject(&fontRef);
         }
@@ -565,7 +565,7 @@ static void copyObject(Object * obj)
     } else if (obj->isNum()) {
         pdf_printf("%s", convertNumToPDF(obj->getNum()));
     } else if (obj->isString()) {
-        s = obj->getString();
+        s = (GooString *)obj->getString();
         p = s->getCString();
         l = s->getLength();
         if (strlen(p) == (unsigned int) l) {
@@ -589,7 +589,7 @@ static void copyObject(Object * obj)
             pdf_puts(">");
         }
     } else if (obj->isName()) {
-        copyName(obj->getName());
+        copyName((char *)obj->getName());
     } else if (obj->isNull()) {
         pdf_puts("null");
     } else if (obj->isArray()) {
diff --git a/Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc b/Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
index 4e2bcad..0db154b 100644
--- Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
+++ Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
             fprintf(stderr, "No SourceName found\n");
             exit(1);
         }
-        outname = srcName.getString()->getCString();
+        outname = (char *)srcName.getString()->getCString();
         // We cannot free srcName, as objname shares its string.
         // srcName.free();
     } else if (objnum > 0) {
--- Build/source/texk/web2c/pdftexdir/pdftosrc.cc
+++ Build/source/texk/web2c/pdftexdir/pdftosrc.cc
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
             fprintf(stderr, "No SourceName found\n");
             exit(1);
         }
-        outname = srcName.getString()->getCString();
+        outname = (char *)srcName.getString()->getCString();
         // We cannot free srcName, as objname shares its string.
         // srcName.free();
     } else if (objnum > 0) {
--- Build/source/texk/web2c/pdftexdir/pdftoepdf.cc
+++ Build/source/texk/web2c/pdftexdir/pdftoepdf.cc
@@ -290,7 +290,7 @@ static void copyName(char *s)
 static void copyDictEntry(Object * obj, int i)
 {
     Object obj1;
-    copyName(obj->dictGetKey(i));
+    copyName((char *)obj->dictGetKey(i));
     pdf_puts(" ");
     obj1 = obj->dictGetValNF(i);
     copyObject(&obj1);
@@ -355,7 +355,7 @@ static void copyProcSet(Object * obj)
         if (!procset.isName())
             pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
                         procset.getTypeName());
-        copyName(procset.getName());
+        copyName((char *)procset.getName());
         pdf_puts(" ");
     }
     pdf_puts("]\n");
@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object * fontRef)
         && fontdescRef.isRef()
         && fontdesc.isDict()
         && embeddableFont(&fontdesc)
-        && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
+        && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
         // round /StemV value, since the PDF input is a float
         // (see Font Descriptors in PDF reference), but we only store an
         // integer, since we don't want to change the struct.
@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * fontRef)
         charset = fontdesc.dictLookup("CharSet");
         if (!charset.isNull() &&
             charset.isString() && is_subsetable(fontmap))
-            epdf_mark_glyphs(fd, charset.getString()->getCString());
+            epdf_mark_glyphs(fd, (char *)charset.getString()->getCString());
         else
             embed_whole_font(fd);
         addFontDesc(fontdescRef.getRef(), fd);
@@ -456,7 +456,7 @@ static void copyFontResources(Object * obj)
         if (fontRef.isRef())
             copyFont(obj->dictGetKey(i), &fontRef);
         else if (fontRef.isDict()) {   // some programs generate pdf with embedded font object
-            copyName(obj->dictGetKey(i));
+            copyName((char *)obj->dictGetKey(i));
             pdf_puts(" ");
             copyObject(&fontRef);
         }
@@ -565,7 +565,7 @@ static void copyObject(Object * obj)
     } else if (obj->isNum()) {
         pdf_printf("%s", convertNumToPDF(obj->getNum()));
     } else if (obj->isString()) {
-        s = obj->getString();
+        s = (GooString *)obj->getString();
         p = s->getCString();
         l = s->getLength();
         if (strlen(p) == (unsigned int) l) {
@@ -589,7 +589,7 @@ static void copyObject(Object * obj)
             pdf_puts(">");
         }
     } else if (obj->isName()) {
-        copyName(obj->getName());
+        copyName((char *)obj->getName());
     } else if (obj->isNull()) {
         pdf_puts("null");
     } else if (obj->isArray()) {
-- 
cgit v1.1

