summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-11-18 09:34:48 +0100
committerNatanael Copa <ncopa@alpinelinux.org>2011-11-18 09:34:48 +0100
commit3deeedbf4fb944dfd9f4a903ba924356a8df9c91 (patch)
treea5cffceae5e3093111a9aecc2c5bee7c204d794a
parent59efa32c03fd650a3f3a3a0e92518224f7833ebf (diff)
downloadlua-file-magic-3deeedbf4fb944dfd9f4a903ba924356a8df9c91.tar.bz2
lua-file-magic-3deeedbf4fb944dfd9f4a903ba924356a8df9c91.tar.xz
Implement magic_errno
-rw-r--r--magic.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/magic.c b/magic.c
index 1018b6f..7697773 100644
--- a/magic.c
+++ b/magic.c
@@ -4,6 +4,8 @@ LGPL
*/
+#include <string.h>
+
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
@@ -112,6 +114,15 @@ static int Perror(lua_State *L)
return 1;
}
+static int Perrno(lua_State *L)
+{
+ magic_t m = Pmagic_checkarg(L, 1);
+ int err = magic_errno(m);
+ lua_pushinteger(L, err);
+ lua_pushstring(L, strerror(err));
+ return 2;
+}
+
static int Pload(lua_State *L)
{
magic_t m = Pmagic_checkarg(L, 1);
@@ -153,7 +164,7 @@ static const luaL_reg Pmagic_methods[] = {
{"compile", Ptodo},
{"check", Ptodo},
{"list", Ptodo},
- {"errno", Ptodo},
+ {"errno", Perrno},
{NULL, NULL}
};