lua.c
changeset 143 4232a5da1af2
parent 142 7e8f523b66af
child 144 690b5524b895
--- a/lua.c	Tue Nov 27 12:12:57 2012 +0200
+++ b/lua.c	Wed Nov 28 04:27:33 2012 +0200
@@ -1,6 +1,6 @@
 
-/* Copyright 2009,2010 Myhailo Danylenko
- * Copyright 2011 Mikael Berthe
+/* Copyright 2009-2012 Myhailo Danylenko
+ * Copyright 2011      Mikael Berthe
 
 This file is part of mcabber-lua.
 
@@ -163,7 +163,7 @@
 static int lua_global_dopath (lua_State *L)
 {
 	const char *name = luaL_checkstring (L, 1);
-	size_t      size = lua_objlen (L, 1);
+	size_t      size = lua_rawlen (L, 1);
 	char       *path;
 	int         ret = 0;
 	if (size > 4 && !strncmp (name + size - 4, ".lua", 4))
@@ -489,7 +489,7 @@
 static void lua_rosterlist_callback (gpointer buddy, lua_State *L)
 {
 	char *jid = from_utf8 (buddy_getjid (buddy));
-	lua_pushnumber (L, lua_objlen (L, -1) + 1);
+	lua_pushnumber (L, lua_rawlen (L, -1) + 1);
 	lua_pushstring (L, jid);
 	lua_settable (L, -3);
 	g_free (jid);
@@ -1171,7 +1171,7 @@
 	luaL_newmetatable (L, "mcabber.command");
 	lua_pushvalue (L, -1);
 	lua_setfield (L, -2, "__index");
-	luaL_register (L, NULL, lua_mcabber_command_reg_m);
+	luaL_setfuncs (L, lua_mcabber_command_reg_m, 0);
 	lua_pop (L, 1);
 }
 
@@ -1560,7 +1560,7 @@
 	luaL_newmetatable (L, "mcabber.hook");
 	lua_pushvalue (L, -1);
 	lua_setfield (L, -2, "__index");
-	luaL_register (L, NULL, lua_mcabber_hook_reg_m);
+	luaL_setfuncs (L, lua_mcabber_hook_reg_m, 0);
 	lua_pop (L, 1);
 }
 
@@ -1780,8 +1780,9 @@
 {
 	luaL_openlibs (lua);
 
-	luaL_register (lua, "main", lua_reg_main);
-	lua_pop (lua, 1); // XXX
+	lua_newtable(lua);
+	luaL_setfuncs (lua, lua_reg_main, 0);
+	lua_setglobal (lua, "main");
 	lua_register (lua, "dopath", lua_global_dopath);
 	lua_register (lua, "print",  lua_global_print );