--- a/lm.c Fri Mar 27 09:43:25 2009 +0200
+++ b/lm.c Fri Mar 27 09:43:41 2009 +0200
@@ -1,6 +1,7 @@
#include <lua.h>
+#include "config.h"
#include "lm_types.h"
#include "lm_message_node.h"
#include "lm_message.h"
@@ -20,26 +21,35 @@
int luaopen_loudmouth (lua_State *L)
{
- lua_pushstring (L, LLM_OBJREGISTRY); // 1 registry key
+ lua_pushconststring (L, LLM_OBJREGISTRY); // 1 registry key
lua_newtable (L); // 2 registry value (table)
lua_createtable (L, 0, 1); // 3 metatable
- lua_pushstring (L, "__mode"); // 4 metatable key
- lua_pushstring (L, "v"); // 5 metatable value
+ lua_pushconststring (L, "__mode"); // 4 metatable key
+ lua_pushconststring (L, "v"); // 5 metatable value
lua_settable (L, -3); // 3 metatable
lua_setmetatable (L, -2); // 2 registry value
lua_rawset (L, LUA_REGISTRYINDEX); // 0
lua_createtable (L, 6, 0);
- lua_pushvalue (L, -1);
- lua_setglobal (L, "lm");
+ lua_pushconststring (L, "message_node");
luaopen_lm_message_node (L);
+ lua_settable (L, -3);
+ lua_pushconststring (L, "message");
luaopen_lm_message (L);
+ lua_settable (L, -3);
+ lua_pushconststring (L, "message_handler");
luaopen_lm_message_handler (L);
+ lua_settable (L, -3);
+ lua_pushconststring (L, "proxy");
luaopen_lm_proxy (L);
+ lua_settable (L, -3);
+ lua_pushconststring (L, "ssl");
luaopen_lm_ssl (L);
+ lua_settable (L, -3);
+ lua_pushconststring (L, "connection");
luaopen_lm_connection (L);
- lua_pop (L, 6);
+ lua_settable (L, -3);
return 1;
}
--- a/lm.lua Fri Mar 27 09:43:25 2009 +0200
+++ b/lm.lua Fri Mar 27 09:43:41 2009 +0200
@@ -1,5 +1,5 @@
-require 'loudmouth'
+local lm = require 'loudmouth'
-- argument is a table with keys,
-- corresponding to method names.
@@ -294,4 +294,6 @@
return c
end
+return lm
+
-- vim: se ts=4: --
--- a/lm_connection.c Fri Mar 27 09:43:25 2009 +0200
+++ b/lm_connection.c Fri Mar 27 09:43:41 2009 +0200
@@ -561,7 +561,8 @@
lua_settable (L, -3);
luaL_register (L, NULL, reg_m_lm_connection);
lua_pop (L, 1);
- luaL_register (L, "lm.connection", reg_f_lm_connection);
+ lua_newtable (L); // XXX we can specify here exact amount of fields
+ luaL_register (L, NULL, reg_f_lm_connection);
return 1;
}
--- a/lm_message.c Fri Mar 27 09:43:25 2009 +0200
+++ b/lm_message.c Fri Mar 27 09:43:41 2009 +0200
@@ -178,7 +178,8 @@
lua_settable (L, -3);
luaL_register (L, NULL, reg_m_lm_message);
lua_pop (L, 1);
- luaL_register (L, "lm.message", reg_f_lm_message);
+ lua_newtable (L); // XXX we can specify here exact amount of fields
+ luaL_register (L, NULL, reg_f_lm_message);
return 1;
}
--- a/lm_message_handler.c Fri Mar 27 09:43:25 2009 +0200
+++ b/lm_message_handler.c Fri Mar 27 09:43:41 2009 +0200
@@ -132,7 +132,8 @@
lua_settable (L, -3);
luaL_register (L, NULL, reg_m_lm_handler);
lua_pop (L, 1);
- luaL_register (L, "lm.message_handler", reg_f_lm_handler);
+ lua_newtable (L); // XXX we can specify here exact amount of fields
+ luaL_register (L, NULL, reg_f_lm_handler);
return 1;
}
--- a/lm_message_node.c Fri Mar 27 09:43:25 2009 +0200
+++ b/lm_message_node.c Fri Mar 27 09:43:41 2009 +0200
@@ -267,7 +267,8 @@
lua_settable (L, -3);
luaL_register (L, NULL, reg_m_lm_node);
lua_pop (L, 1);
- luaL_register (L, "lm.message_node", reg_f_lm_node);
+ lua_newtable (L); // XXX we can specify here exact amount of fields
+ luaL_register (L, NULL, reg_f_lm_node);
return 1;
}
--- a/lm_proxy.c Fri Mar 27 09:43:25 2009 +0200
+++ b/lm_proxy.c Fri Mar 27 09:43:41 2009 +0200
@@ -170,7 +170,8 @@
lua_settable (L, -3);
luaL_register (L, NULL, reg_m_lm_proxy);
lua_pop (L, 1);
- luaL_register (L, "lm.proxy", reg_f_lm_proxy);
+ lua_newtable (L); // XXX we can specify here exact amount of fields
+ luaL_register (L, NULL, reg_f_lm_proxy);
return 1;
}
--- a/lm_ssl.c Fri Mar 27 09:43:25 2009 +0200
+++ b/lm_ssl.c Fri Mar 27 09:43:41 2009 +0200
@@ -191,7 +191,8 @@
lua_settable (L, -3);
luaL_register (L, NULL, reg_m_lm_ssl);
lua_pop (L, 1);
- luaL_register (L, "lm.ssl", reg_f_lm_ssl);
+ lua_newtable (L); // XXX we can specify here exact amount of fields
+ luaL_register (L, NULL, reg_f_lm_ssl);
return 1;
}