aboutsummaryrefslogtreecommitdiff
path: root/lcode.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2025-04-17 14:58:55 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2025-04-17 14:58:55 -0300
commit50fd8d03c33bbe52ac5b34c4eb748197b349cedd (patch)
treeef63c627346c7609fea578cd9d8399ae500c00b2 /lcode.c
parent3dbb1a4b894c0744a331d4319d8d1704dc4ad943 (diff)
downloadlua-50fd8d03c33bbe52ac5b34c4eb748197b349cedd.tar.gz
lua-50fd8d03c33bbe52ac5b34c4eb748197b349cedd.tar.bz2
lua-50fd8d03c33bbe52ac5b34c4eb748197b349cedd.zip
Function 'luaK_semerror' made vararg
All calls to 'luaK_semerror' were using 'luaO_pushfstring' to create the error messages.
Diffstat (limited to '')
-rw-r--r--lcode.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lcode.c b/lcode.c
index 8c04d8ab..d22a081a 100644
--- a/lcode.c
+++ b/lcode.c
@@ -40,7 +40,14 @@ static int codesJ (FuncState *fs, OpCode o, int sj, int k);
40 40
41 41
42/* semantic error */ 42/* semantic error */
43l_noret luaK_semerror (LexState *ls, const char *msg) { 43l_noret luaK_semerror (LexState *ls, const char *fmt, ...) {
44 const char *msg;
45 va_list argp;
46 va_start(argp, fmt);
47 msg = luaO_pushvfstring(ls->L, fmt, argp);
48 va_end(argp);
49 if (msg == NULL) /* error? */
50 luaD_throw(ls->L, LUA_ERRMEM);
44 ls->t.token = 0; /* remove "near <token>" from final message */ 51 ls->t.token = 0; /* remove "near <token>" from final message */
45 luaX_syntaxerror(ls, msg); 52 luaX_syntaxerror(ls, msg);
46} 53}