cb->lua_function_name = strdup(function_name);
pthread_mutex_init(&cb->lock, NULL);
- user_data_t ud = {
- .data = cb
- };
-
int status = plugin_register_complex_read(/* group = */ "lua",
/* name = */ function_name,
/* callback = */ clua_read,
/* interval = */ 0,
- /* user_data = */ &ud);
+ &(user_data_t) {
+ .data = cb,
+ });
if (status != 0)
return luaL_error(L, "%s", "plugin_register_complex_read failed");
cb->lua_function_name = strdup(function_name);
pthread_mutex_init(&cb->lock, NULL);
- user_data_t ud = {
- .data = cb
- };
-
int status = plugin_register_write(/* name = */ function_name,
/* callback = */ clua_write,
- /* user_data = */ &ud);
+ &(user_data_t) {
+ .data = cb,
+ });
if (status != 0)
return luaL_error(L, "%s", "plugin_register_write failed");
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},
{"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;
} /* }}} */
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') {
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);
}