summaryrefslogtreecommitdiffstats
path: root/src/if_lua.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-10-26 20:18:08 +0100
committerBram Moolenaar <Bram@vim.org>2020-10-26 20:18:08 +0100
commitc8970b94645d0730f4a7cc42388ff32665398e8b (patch)
tree74b67ceec823a1e80960d9afcec2f8e6d6a6d754 /src/if_lua.c
parentf9d51354de069dddc049b9e109b1932c92e5aee6 (diff)
patch 8.2.1908: Lua is initialized even when not usedv8.2.1908
Problem: Lua is initialized even when not used. Solution: Put lua_init() after check for "eap->skip". (Christian Brabandt, closes #7191). Avoid compiler warnings.
Diffstat (limited to 'src/if_lua.c')
-rw-r--r--src/if_lua.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/if_lua.c b/src/if_lua.c
index 77f2afe54b..e20298311d 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -33,7 +33,7 @@ typedef struct {
char_u *name; // funcref
dict_T *self; // selfdict
} luaV_Funcref;
-typedef void (*msgfunc_T)(char_u *);
+typedef int (*msgfunc_T)(char *);
typedef struct {
int lua_funcref; // ref to a lua func
@@ -788,11 +788,11 @@ luaV_msgfunc(lua_State *L, msgfunc_T mf)
{
if (*p++ == '\0') // break?
{
- mf((char_u *) s);
+ mf((char *)s);
s = p;
}
}
- mf((char_u *) s);
+ mf((char *)s);
lua_pop(L, 2); // original and modified strings
}
@@ -2372,18 +2372,19 @@ lua_end(void)
void
ex_lua(exarg_T *eap)
{
- char *script;
- if (lua_init() == FAIL) return;
- script = (char *) script_get(eap, eap->arg);
- if (!eap->skip)
+ char *script = (char *)script_get(eap, eap->arg);
+
+ if (!eap->skip && lua_init() == OK)
{
- char *s = (script) ? script : (char *) eap->arg;
+ char *s = script != NULL ? script : (char *)eap->arg;
+
luaV_setrange(L, eap->line1, eap->line2);
if (luaL_loadbuffer(L, s, strlen(s), LUAVIM_CHUNKNAME)
|| lua_pcall(L, 0, 0, 0))
luaV_emsg(L);
}
- if (script != NULL) vim_free(script);
+ if (script != NULL)
+ vim_free(script);
}
void