diff -r a8c6460d612b -r 63f06a23c235 lm_message.c --- a/lm_message.c Sun Mar 08 00:48:19 2009 +0200 +++ b/lm_message.c Sat Mar 14 02:41:26 2009 +0200 @@ -69,13 +69,17 @@ /// lm.message.new /// Creates new message object. +/// Note: you can specify nil as to argument to send message to server. /// A: string (to), message type, message sub type (optional) /// R: lm message object static int new_lm_message (lua_State *L) { - const char *to = luaL_checkstring (L, 1); + const char *to = NULL; int type = luaL_checkenum (L, 2, type_lm_message); LmMessage *message; + + if (lua_type (L, 1) != LUA_TNIL) + to = luaL_checkstring (L, 1); if (lua_gettop (L) > 2) message = lm_message_new_with_sub_type (to, type, luaL_checkenum (L, 3, sub_type_lm_message)); @@ -142,12 +146,12 @@ static const luaL_Reg reg_f_lm_message[] = { { "new", new_lm_message }, { "bless", bless_lua_lm_message }, - { NULL, NULL }, + { NULL, NULL }, }; static const luaL_Reg reg_m_lm_message[] = { - { "node", node_lm_message }, - { "type", kind_lm_message }, + { "node", node_lm_message }, + { "type", kind_lm_message }, // These methods are common for message and message node { "next", next_lm_node }, { "prev", prev_lm_node }, @@ -161,9 +165,9 @@ { "xml", xml_lm_node }, { "path", path_lm_node }, // End common methods - { "pointer", pointer_lm_message }, - { "__gc", gc_lm_message }, - { NULL, NULL }, + { "pointer", pointer_lm_message }, + { "__gc", gc_lm_message }, + { NULL, NULL }, }; int luaopen_lm_message (lua_State *L)