summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--epan/wslua/init_wslua.c3
-rwxr-xr-xepan/wslua/make-reg.pl11
-rw-r--r--epan/wslua/wslua_dumper.c2
-rw-r--r--epan/wslua/wslua_field.c4
-rw-r--r--epan/wslua/wslua_gui.c4
-rw-r--r--epan/wslua/wslua_listener.c2
-rw-r--r--epan/wslua/wslua_pinfo.c12
-rw-r--r--epan/wslua/wslua_proto.c14
-rw-r--r--epan/wslua/wslua_tree.c2
-rw-r--r--epan/wslua/wslua_tvb.c10
-rw-r--r--epan/wslua/wslua_util.c2
11 files changed, 38 insertions, 28 deletions
diff --git a/epan/wslua/init_wslua.c b/epan/wslua/init_wslua.c
index 40fa7d01c8..5bcc660ccd 100644
--- a/epan/wslua/init_wslua.c
+++ b/epan/wslua/init_wslua.c
@@ -263,6 +263,7 @@ static gboolean lua_load_script(const gchar* filename) {
case 0:
lua_pcall(L,0,0,1);
fclose(file);
+ lua_pop(L,1); /* pop the error handler */
return TRUE;
case LUA_ERRSYNTAX: {
report_failure("Lua: syntax error during precompilation of `%s':\n%s",filename,lua_tostring(L,-1));
@@ -470,6 +471,7 @@ int wslua_init(register_cb cb, gpointer client_data) {
L = NULL;
return 0;
}
+ lua_pop(L,1); /* pop the getglobal result */
/* load global scripts */
lua_load_plugins(get_plugin_dir(), cb, client_data, FALSE);
@@ -480,6 +482,7 @@ int wslua_init(register_cb cb, gpointer client_data) {
if (lua_isboolean(L,-1) && lua_toboolean(L,-1)) {
run_anyway = TRUE;
}
+ lua_pop(L,1); /* pop the getglobal result */
/* if we are indeed superuser run user scripts only if told to do so */
if ( (!started_with_special_privs()) || run_anyway ) {
diff --git a/epan/wslua/make-reg.pl b/epan/wslua/make-reg.pl
index ba8b958a76..3c8b4afa60 100755
--- a/epan/wslua/make-reg.pl
+++ b/epan/wslua/make-reg.pl
@@ -61,16 +61,21 @@ print C '#include "config.h"' . "\n";
print C '#include "wslua.h"' . "\n\n";
print C '#include "lua_bitop.h"' . "\n\n";
-print C "static void wslua_reg_module(lua_State* L, const char *name, lua_CFunction func) { \n";
+print C "static void wslua_reg_module(lua_State* L, const char *name _U_, lua_CFunction func) { \n";
print C "\tlua_pushcfunction(L, func);\n";
-print C "\tlua_pushstring(L, name);\n";
-print C "\tlua_call(L, 1, 0);\n";
+# why was this done? this string was never used for anything - I'll keep the argument "name" above
+# just in case this needs to be reverted someday, but I think this thing's from old code or something
+# print C "\tlua_pushstring(L, name);\n";
+# print C "\tlua_call(L, 1, 0);\n";
+print C "\tlua_call(L, 0, 0);\n";
print C "}\n\n";
print C "void wslua_register_classes(lua_State* L) { \n";
for (@classes) {
print C "\twslua_reg_module(L, \"${_}\", ${_}_register);\n";
}
print C "\twslua_reg_module(L, \"bit\", luaopen_bit);\n";
+# the bitops library returns a value on the stack - get rid of it
+print C "\tlua_pop(L,1);\n";
print C "}\n\n";
diff --git a/epan/wslua/wslua_dumper.c b/epan/wslua/wslua_dumper.c
index bdd29b9398..b60c17701c 100644
--- a/epan/wslua/wslua_dumper.c
+++ b/epan/wslua/wslua_dumper.c
@@ -462,6 +462,6 @@ WSLUA_META Dumper_meta[] = {
int Dumper_register(lua_State* L) {
dumper_encaps = g_hash_table_new(g_direct_hash,g_direct_equal);
WSLUA_REGISTER_CLASS(Dumper);
- return 1;
+ return 0;
}
diff --git a/epan/wslua/wslua_field.c b/epan/wslua/wslua_field.c
index bc8dc1452f..5b1393ea0c 100644
--- a/epan/wslua/wslua_field.c
+++ b/epan/wslua/wslua_field.c
@@ -440,7 +440,7 @@ static const luaL_Reg FieldInfo_meta[] = {
int FieldInfo_register(lua_State* L) {
WSLUA_REGISTER_META(FieldInfo);
- return 1;
+ return 0;
}
@@ -655,7 +655,7 @@ int Field_register(lua_State* L) {
WSLUA_REGISTER_CLASS(Field);
outstanding_FieldInfo = g_ptr_array_new();
- return 1;
+ return 0;
}
/*
diff --git a/epan/wslua/wslua_gui.c b/epan/wslua/wslua_gui.c
index bfb1838275..2d7ed2b286 100644
--- a/epan/wslua/wslua_gui.c
+++ b/epan/wslua/wslua_gui.c
@@ -412,7 +412,7 @@ int ProgDlg_register(lua_State* L) {
WSLUA_REGISTER_CLASS(ProgDlg);
- return 1;
+ return 0;
}
@@ -726,7 +726,7 @@ int TextWindow_register(lua_State* L) {
WSLUA_REGISTER_CLASS(TextWindow);
- return 1;
+ return 0;
}
diff --git a/epan/wslua/wslua_listener.c b/epan/wslua/wslua_listener.c
index 1406da39d4..33f4ddc595 100644
--- a/epan/wslua/wslua_listener.c
+++ b/epan/wslua/wslua_listener.c
@@ -318,6 +318,6 @@ static const luaL_Reg Listener_meta[] = {
int Listener_register(lua_State* L) {
wslua_set_tap_enums(L);
WSLUA_REGISTER_CLASS(Listener);
- return 1;
+ return 0;
}
diff --git a/epan/wslua/wslua_pinfo.c b/epan/wslua/wslua_pinfo.c
index 721c8651fe..3182c19675 100644
--- a/epan/wslua/wslua_pinfo.c
+++ b/epan/wslua/wslua_pinfo.c
@@ -304,7 +304,7 @@ int NSTime_register(lua_State* L) {
lua_pushcfunction(L, NSTime_new);
lua_setglobal(L, "NSTime");
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(Address,NOP,NOP); /* Represents an address */
@@ -525,7 +525,7 @@ WSLUA_META Address_meta[] = {
int Address_register(lua_State *L) {
WSLUA_REGISTER_CLASS(Address);
- return 1;
+ return 0;
}
@@ -740,7 +740,7 @@ WSLUA_META Column_meta[] = {
int Column_register(lua_State *L) {
WSLUA_REGISTER_CLASS(Column);
- return 1;
+ return 0;
}
@@ -853,7 +853,7 @@ static const luaL_Reg Columns_meta[] = {
int Columns_register(lua_State *L) {
WSLUA_REGISTER_META(Columns);
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(PrivateTable,NOP,NOP);
@@ -969,7 +969,7 @@ WSLUA_META PrivateTable_meta[] = {
int PrivateTable_register(lua_State* L) {
WSLUA_REGISTER_META(PrivateTable);
- return 1;
+ return 0;
}
@@ -1481,5 +1481,5 @@ int Pinfo_register(lua_State* L) {
outstanding_Column = g_ptr_array_new();
outstanding_Columns = g_ptr_array_new();
outstanding_PrivateTable = g_ptr_array_new();
- return 1;
+ return 0;
}
diff --git a/epan/wslua/wslua_proto.c b/epan/wslua/wslua_proto.c
index 50df680b1d..98d2262a53 100644
--- a/epan/wslua/wslua_proto.c
+++ b/epan/wslua/wslua_proto.c
@@ -263,7 +263,7 @@ WSLUA_META Pref_meta[] = {
WSLUA_REGISTER Pref_register(lua_State* L) {
WSLUA_REGISTER_CLASS(Pref);
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(Prefs,NOP,NOP); /* The table of preferences of a protocol */
@@ -427,7 +427,7 @@ WSLUA_META Prefs_meta[] = {
WSLUA_REGISTER Prefs_register(lua_State* L) {
WSLUA_REGISTER_META(Prefs);
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(ProtoField,FAIL_ON_NULL("null ProtoField"),NOP);
@@ -1332,7 +1332,7 @@ static const luaL_Reg ProtoField_meta[] = {
int ProtoField_register(lua_State* L) {
WSLUA_REGISTER_CLASS(ProtoField);
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(Proto,NOP,NOP);
@@ -1665,7 +1665,7 @@ int Proto_register(lua_State* L) {
lua_pushcfunction(L, Proto_new);
lua_setglobal(L, "Proto");
- return 1;
+ return 0;
}
/**
@@ -1732,6 +1732,8 @@ int Proto_commit(lua_State* L) {
g_array_free(etta,FALSE);
}
+ lua_pop(L,1); /* pop the protocols_table_ref */
+
return 0;
}
@@ -1810,7 +1812,7 @@ static const luaL_Reg Dissector_meta[] = {
int Dissector_register(lua_State* L) {
WSLUA_REGISTER_CLASS(Dissector);
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(DissectorTable,NOP,NOP);
@@ -2214,5 +2216,5 @@ static const luaL_Reg DissectorTable_meta[] = {
int DissectorTable_register(lua_State* L) {
WSLUA_REGISTER_CLASS(DissectorTable);
- return 1;
+ return 0;
}
diff --git a/epan/wslua/wslua_tree.c b/epan/wslua/wslua_tree.c
index 5987c3b5c7..de1ef14790 100644
--- a/epan/wslua/wslua_tree.c
+++ b/epan/wslua/wslua_tree.c
@@ -444,5 +444,5 @@ int TreeItem_register(lua_State *L) {
WSLUA_REGISTER_CLASS(TreeItem);
outstanding_TreeItem = g_ptr_array_new();
proto_register_subtree_array(etts,1);
- return 1;
+ return 0;
}
diff --git a/epan/wslua/wslua_tvb.c b/epan/wslua/wslua_tvb.c
index d724fb8868..8ef7108b27 100644
--- a/epan/wslua/wslua_tvb.c
+++ b/epan/wslua/wslua_tvb.c
@@ -335,7 +335,7 @@ static const luaL_Reg ByteArray_meta[] = {
int ByteArray_register(lua_State* L) {
WSLUA_REGISTER_CLASS(ByteArray);
- return 1;
+ return 0;
}
@@ -666,7 +666,7 @@ static const luaL_Reg Tvb_meta[] = {
int Tvb_register(lua_State* L) {
WSLUA_REGISTER_CLASS(Tvb);
- return 1;
+ return 0;
}
@@ -1501,7 +1501,7 @@ int TvbRange_register(lua_State* L) {
outstanding_Tvb = g_ptr_array_new();
outstanding_TvbRange = g_ptr_array_new();
WSLUA_REGISTER_CLASS(TvbRange);
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(Int64,FAIL_ON_NULL("null int64"),NOP);
@@ -1543,7 +1543,7 @@ static const luaL_Reg Int64_meta[] = {
int Int64_register(lua_State* L) {
WSLUA_REGISTER_CLASS(Int64);
- return 1;
+ return 0;
}
WSLUA_CLASS_DEFINE(UInt64,FAIL_ON_NULL("null uint64"),NOP);
@@ -1579,6 +1579,6 @@ static const luaL_Reg UInt64_meta[] = {
int UInt64_register(lua_State* L) {
WSLUA_REGISTER_CLASS(UInt64);
- return 1;
+ return 0;
}
diff --git a/epan/wslua/wslua_util.c b/epan/wslua/wslua_util.c
index 47bf963fb7..cc89e99198 100644
--- a/epan/wslua/wslua_util.c
+++ b/epan/wslua/wslua_util.c
@@ -418,7 +418,7 @@ int Dir_register(lua_State* L) {
WSLUA_REGISTER_CLASS(Dir);
- return 1;
+ return 0;
}