From 6b4f06608e17b9087f7cbd1aa49f327823193149 Mon Sep 17 00:00:00 2001
From: Luigi Scarso <luigi.scarso@gmail.com>
Date: Thu, 31 Aug 2017 10:03:37 +0000
Subject: [PATCH] experimental fix for ffi supporting callbacks in vararg
 functions.

---
 source/texk/web2c/luatexdir/luaffi/ffi.c        | 7 ++++++-
 source/texk/web2c/luatexdir/luatex_svnversion.h | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/source/texk/web2c/luatexdir/luaffi/ffi.c b/source/texk/web2c/luatexdir/luaffi/ffi.c
index abeeb5f1f..7771b512d 100644
--- a/source/texk/web2c/luatexdir/luaffi/ffi.c
+++ b/source/texk/web2c/luatexdir/luaffi/ffi.c
@@ -387,7 +387,12 @@ static size_t unpack_vararg(lua_State* L, int i, char* to)
         } else if (ct.type == INT64_TYPE) {
             *(int64_t*) to = *(int64_t*) p;
             return sizeof(int64_t);
-        }
+
+        } else if (ct.type == FUNCTION_PTR_TYPE) {
+	  *(cfunction *) to = *(cfunction *)p;
+	  return sizeof(cfunction);
+	}
+
         goto err;
 
     case LUA_TNIL:
diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h
index a9ed18e68..7ebe8828c 100644
--- a/source/texk/web2c/luatexdir/luatex_svnversion.h
+++ b/source/texk/web2c/luatexdir/luatex_svnversion.h
@@ -1 +1 @@
-#define luatex_svn_revision 6390
+#define luatex_svn_revision 6391
-- 
GitLab