summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--magic.c12
-rw-r--r--test.lua2
2 files changed, 12 insertions, 2 deletions
diff --git a/magic.c b/magic.c
index d138302..bf7e836 100644
--- a/magic.c
+++ b/magic.c
@@ -168,10 +168,20 @@ static int Pbuffer(lua_State *L)
return 1;
}
+static int Pgetpath(lua_State *L)
+{
+ // from file.h in 'file' sources
+ #define FILE_LOAD 0
+ const char *magicfile = luaL_optstring(L, 1, NULL);
+ lua_pushstring(L, magic_getpath(magicfile, FILE_LOAD));
+ return 1;
+ #undef FILE_LOAD
+}
+
static const luaL_reg Pmagic_methods[] = {
{"open", Popen},
{"close", Pclose},
- {"getpath", Ptodo},
+ {"getpath", Pgetpath},
{"file", Pfile},
{"descriptor", Pdescriptor},
{"buffer", Pbuffer},
diff --git a/test.lua b/test.lua
index 7ac6e67..cf41639 100644
--- a/test.lua
+++ b/test.lua
@@ -25,4 +25,4 @@ print(m:file("Makefile"))
m:setflags(magic.NONE)
print(m:buffer("#!/bin/bash\n"))
-
+print(magic.getpath())