diff options
-rw-r--r-- | magic.c | 10 | ||||
-rw-r--r-- | test.lua | 18 |
2 files changed, 23 insertions, 5 deletions
@@ -151,12 +151,20 @@ static int Psetflags(lua_State *L) } } +static int Pdescriptor(lua_State *L) +{ + magic_t m = Pmagic_checkarg(L, 1); + int fd = luaL_checknumber(L, 2); + lua_pushstring(L, magic_descriptor(m, fd)); + return 1; +} + static const luaL_reg Pmagic_methods[] = { {"open", Popen}, {"close", Pclose}, {"getpath", Ptodo}, {"file", Pfile}, - {"descriptor", Ptodo}, + {"descriptor", Pdescriptor}, {"buffer", Ptodo}, {"error", Perror}, {"setflags", Psetflags}, @@ -2,15 +2,25 @@ magic = require("magic") + m = magic.open() - assert(m:load()) - print(m:errno()) -print(m:file("Makefile")) +-- test magic.descriptor() from stdin +if arg[1] == "--stdin" then + -- stdin = 0 + m:setflags(magic.MIME_ENCODING) + print(m:descriptor(0)) + os.exit(0) +else + os.execute("lua test.lua --stdin < Makefile") +end + +print(m:file("Makefile")) m:setflags(magic.MIME_TYPE) print(m:error()) - print(m:file("Makefile")) + + |