diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-11-18 09:59:39 +0100 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-11-18 09:59:39 +0100 |
commit | a4afecaeb9414535a4da21853c1de01c6d302728 (patch) | |
tree | 938c802544af02695cdfc3204bba053ee3b80cad | |
parent | 1019f4b28b768085db2f78dac2a3d2f54a8e541f (diff) | |
download | lua-file-magic-a4afecaeb9414535a4da21853c1de01c6d302728.tar.bz2 lua-file-magic-a4afecaeb9414535a4da21853c1de01c6d302728.tar.xz |
Implement magic_descriptor()
-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")) + + |