1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-28 13:56:37 +02:00

lua: fix code style

This commit is contained in:
wfrsk
2023-04-16 01:05:31 +02:00
committed by Sébastien Helleu
parent fd541395f4
commit 4d83adc7d8
+66 -51
View File
@@ -251,38 +251,46 @@ weechat_lua_output_flush ()
}
/*
* NOTE: Taken from `luaB_print`
* Redirection for stdout and stderr.
*/
int
weechat_lua_output (lua_State *L) {
int n = lua_gettop(L); /* number of arguments */
int i;
lua_getglobal(L, "tostring");
for (i=1; i<=n; i++) {
const char *s;
lua_pushvalue(L, -1); /* function to be called */
lua_pushvalue(L, i); /* value to print */
lua_call(L, 1, 1);
s = lua_tostring(L, -1); /* get result */
if (s == NULL)
return luaL_error(L, "%s must return a string to %s",
"tostring", "print");
const char *ptr_msg, *ptr_newline;
weechat_lua_output (lua_State *L)
{
int i, argument_count;
const char *stringified_result;
char *ptr_msg, *ptr_newline;
ptr_msg = s;
while ((ptr_newline = strchr (ptr_msg, '\n')) != NULL)
argument_count = lua_gettop (L);
for (i = 1; i <= argument_count; ++i)
{
weechat_string_dyn_concat (lua_buffer_output,
ptr_msg,
ptr_newline - ptr_msg);
weechat_lua_output_flush ();
ptr_msg = ++ptr_newline;
}
weechat_string_dyn_concat (lua_buffer_output, ptr_msg, -1);
/* call tostring with the given value */
lua_getglobal (L, "tostring");
lua_pushvalue (L, i);
lua_call (L, 1, 1);
/* get the stringified value */
stringified_result = lua_tostring (L, -1);
/* handle stringification failure */
if (!stringified_result)
{
return luaL_error (L, "%s must return a string to %s",
"tostring", "print");
}
lua_pop(L, 1); /* pop result */
/* discard tostring's value */
lua_remove (L, -1);
ptr_msg = (char *)stringified_result;
while ((ptr_newline = strchr(ptr_msg, '\n')) != NULL)
{
weechat_string_dyn_concat (lua_buffer_output,
ptr_msg,
ptr_newline - ptr_msg);
weechat_lua_output_flush ();
ptr_msg = ++ptr_newline;
}
weechat_string_dyn_concat (lua_buffer_output, ptr_msg, -1);
}
return 0;
}
@@ -510,7 +518,7 @@ struct t_plugin_script *
weechat_lua_load (const char *filename, const char *code)
{
FILE *fp;
fp = NULL;
if (!code)
@@ -549,44 +557,51 @@ weechat_lua_load (const char *filename, const char *code)
return NULL;
}
#ifndef LUA_VERSION_NUM
luaopen_base (lua_current_interpreter);
luaopen_string(lua_current_interpreter);
#ifndef LUA_VERSION_NUM /* Lua ≤ 5.0 */
luaopen_base (lua_current_interpreter);
luaopen_string (lua_current_interpreter);
luaopen_table (lua_current_interpreter);
luaopen_math (lua_current_interpreter);
luaopen_io (lua_current_interpreter);
luaopen_math (lua_current_interpreter);
luaopen_io (lua_current_interpreter);
luaopen_debug (lua_current_interpreter);
#else
luaL_openlibs (lua_current_interpreter);
#endif /* LUA_VERSION_NUM */
#endif /* LUA_VERSION_NUM */
weechat_lua_register_lib (lua_current_interpreter, "weechat",
weechat_lua_api_funcs);
// Remove references to stdout and stderr
lua_getglobal(lua_current_interpreter, "io");
if (lua_istable(lua_current_interpreter, -1)) {
// io.{stdout,stderr} = nil
/* Remove references to stdout and stderr */
lua_getglobal (lua_current_interpreter, "io");
if (lua_istable (lua_current_interpreter, -1))
{
/*
* io.stdout = nil
* io.stderr = nil
*/
lua_pushnil (lua_current_interpreter);
lua_setfield(lua_current_interpreter, -2, "stdout");
lua_setfield (lua_current_interpreter, -2, "stdout");
lua_pushnil (lua_current_interpreter);
lua_setfield(lua_current_interpreter, -2, "stderr");
// io.write = weechat_lua_output [C]
lua_pushcfunction(lua_current_interpreter, weechat_lua_output);
lua_setfield(lua_current_interpreter, -2, "write");
lua_setfield (lua_current_interpreter, -2, "stderr");
/* io.write = weechat_lua_output [C] */
lua_pushcfunction (lua_current_interpreter, weechat_lua_output);
lua_setfield (lua_current_interpreter, -2, "write");
}
lua_pop(lua_current_interpreter, 1); // remove the `ìo` table|(nil value) from the stack
// print = weechat_lua_output [C]
lua_pushcfunction(lua_current_interpreter, weechat_lua_output);
lua_setglobal(lua_current_interpreter, "print");
// debug.debug = nil
lua_pop (lua_current_interpreter, 1); /* remove the `ìo` table|(nil value) from the stack */
/* print = weechat_lua_output [C] */
lua_pushcfunction (lua_current_interpreter, weechat_lua_output);
lua_setglobal (lua_current_interpreter, "print");
/* debug.debug = nil */
lua_getglobal (lua_current_interpreter, "debug");
if (lua_istable(lua_current_interpreter, -1)) {
lua_pushnil (lua_current_interpreter);
lua_setfield (lua_current_interpreter, -2, "debug");
if (lua_istable (lua_current_interpreter, -1))
{
lua_pushnil (lua_current_interpreter);
lua_setfield (lua_current_interpreter, -2, "debug");
}
lua_pop(lua_current_interpreter, 1); // remove the `debug` table|(nil value) from the stack
lua_pop (lua_current_interpreter, 1); /* remove the `debug` table|(nil value) from the stack */
lua_current_script_filename = filename;