write_kafka plugin: Reintroduce the "Key Random" setting.
[collectd.git] / src / lua.c
index a0e3603..351b8c6 100644 (file)
--- a/src/lua.c
+++ b/src/lua.c
@@ -362,7 +362,7 @@ static int lua_cb_register_write(lua_State *L) /* {{{ */
   return 0;
 } /* }}} int lua_cb_register_write */
 
-static luaL_Reg collectdlib[] = {
+static const luaL_Reg collectdlib[] = {
     {"log_debug", lua_cb_log_debug},
     {"log_error", lua_cb_log_error},
     {"log_info", lua_cb_log_info},
@@ -370,11 +370,17 @@ static luaL_Reg collectdlib[] = {
     {"log_warning", lua_cb_log_warning},
     {"dispatch_values", lua_cb_dispatch_values},
     {"register_read", lua_cb_register_read},
-    {"register_write", lua_cb_register_write}};
+    {"register_write", lua_cb_register_write},
+    {NULL, NULL}
+};
 
 static int open_collectd(lua_State *L) /* {{{ */
 {
+#if LUA_VERSION_NUM < 502
+  luaL_register(L, "collectd", collectdlib);
+#else
   luaL_newlib(L, collectdlib);
+#endif
   return 1;
 } /* }}} */
 
@@ -411,8 +417,14 @@ static int lua_script_init(lua_script_t *script) /* {{{ */
   luaL_openlibs(script->lua_state);
 
   /* Load the 'collectd' library */
+#if LUA_VERSION_NUM < 502
+  lua_pushcfunction(script->lua_state, open_collectd);
+  lua_pushstring(script->lua_state, "collectd");
+  lua_call(script->lua_state, 1, 0);
+#else
   luaL_requiref(script->lua_state, "collectd", open_collectd, 1);
   lua_pop(script->lua_state, 1);
+#endif
 
   /* Prepend BasePath to package.path */
   if (base_path[0] != '\0') {
@@ -535,7 +547,7 @@ static int lua_config_script(const oconfig_item_t *ci) /* {{{ */
   if (status != 0)
     return (status);
 
-  INFO("Lua plugin: File \"%s\" loaded succesfully", abs_path);
+  INFO("Lua plugin: File \"%s\" loaded successfully", abs_path);
 
   return 0;
 } /* }}} int lua_config_script */
@@ -573,7 +585,7 @@ static int lua_shutdown(void) /* {{{ */
   return (0);
 } /* }}} int lua_shutdown */
 
-void module_register() {
+void module_register(void) {
   plugin_register_complex_config("lua", lua_config);
   plugin_register_shutdown("lua", lua_shutdown);
 }