From 59efa32c03fd650a3f3a3a0e92518224f7833ebf Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 18 Nov 2011 09:20:44 +0100 Subject: Implement magic_setflags, fix compiler warning From Jeff Pohlmeyer --- magic.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/magic.c b/magic.c index 97fe4ca..1018b6f 100644 --- a/magic.c +++ b/magic.c @@ -115,9 +115,29 @@ static int Perror(lua_State *L) static int Pload(lua_State *L) { magic_t m = Pmagic_checkarg(L, 1); - char *filename = luaL_optstring(L, 2, NULL); - lua_pushstring(L, magic_load(m, filename)); - return 1; + const char *filename = luaL_optstring(L, 2, NULL); + if (magic_load(m, filename)==0) { + lua_pushboolean(L,1); + return 1; + } else { + lua_pushnil(L); + lua_pushstring(L, magic_error(m)); + return 2; + } +} + +static int Psetflags(lua_State *L) +{ + magic_t m = Pmagic_checkarg(L, 1); + int flags = luaL_checknumber(L, 2); + if (magic_setflags(m, flags)) { + lua_pushboolean(L,1); + return 1; + } else { + lua_pushnil(L); + lua_pushstring(L, magic_error(m)); + return 2; + } } static const luaL_reg Pmagic_methods[] = { @@ -128,7 +148,7 @@ static const luaL_reg Pmagic_methods[] = { {"descriptor", Ptodo}, {"buffer", Ptodo}, {"error", Perror}, - {"setflags", Ptodo}, + {"setflags", Psetflags}, {"load", Pload}, {"compile", Ptodo}, {"check", Ptodo}, -- cgit v1.2.3