summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2017-04-09 17:43:43 +0300
committerOskari Timperi <oskari.timperi@iki.fi>2017-04-09 17:43:43 +0300
commit6babc4110ebb377ff74d7a2db6d02fc559cf9b1a (patch)
tree26cfb6b5dce80b1dda24b2af0e8cf1719d8b17de /src/main.c
downloadmkpdf-6babc4110ebb377ff74d7a2db6d02fc559cf9b1a.tar.gz
mkpdf-6babc4110ebb377ff74d7a2db6d02fc559cf9b1a.zip
Initial commit
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..7b3bd26
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <lua.h>
+#include <lauxlib.h>
+#include <lualib.h>
+
+int luaopen_hpdf(lua_State *L);
+
+extern const char mkpdf_lua[];
+extern const unsigned long mkpdf_lua_size;
+
+int main(int argc, char **argv)
+{
+ lua_State *L;
+ int rc = 0;
+
+ L = luaL_newstate();
+
+ luaL_openlibs(L);
+
+ lua_getglobal(L, "package");
+ lua_getfield(L, -1, "preload");
+ lua_pushcfunction(L, luaopen_hpdf);
+ lua_setfield(L, -2, "hpdf");
+ lua_pop(L, 2);
+
+ if (luaL_dostring(L, mkpdf_lua))
+ {
+ fprintf(stderr, "%s\n", lua_tostring(L, -1));
+ rc = 1;
+ }
+
+ if (luaL_dofile(L, argv[1]))
+ {
+ fprintf(stderr, "%s\n", lua_tostring(L, -1));
+ rc = 1;
+ }
+
+ lua_close(L);
+
+ return rc;
+}