util.pposix: syslog(): Support an optional source parameter (producing messages of...
authorMatthew Wild <mwild1@gmail.com>
Mon, 8 Apr 2013 15:56:40 +0000 (16:56 +0100)
committerMatthew Wild <mwild1@gmail.com>
Mon, 8 Apr 2013 15:56:40 +0000 (16:56 +0100)
util-src/pposix.c

index 99a308cfea8f79ac8c626ad2392523cde2ed86d6..c8c25ba942c60e972c237b2f2694b08f7e1cfb62 100644 (file)
@@ -204,12 +204,13 @@ int level_constants[] =   {
                        };
 int lc_syslog_log(lua_State* L)
 {
-       int level = luaL_checkoption(L, 1, "notice", level_strings);
-       level = level_constants[level];
+       int level = level_constants[luaL_checkoption(L, 1, "notice", level_strings)];
 
-       luaL_checkstring(L, 2);
+       if(lua_gettop(L) == 3)
+               syslog(level, "%s: %s", luaL_checkstring(L, 2), luaL_checkstring(L, 3));
+       else
+               syslog(level, "%s", lua_tostring(L, 2));
 
-       syslog(level, "%s", lua_tostring(L, 2));
        return 0;
 }