aboutsummaryrefslogtreecommitdiff
path: root/lcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'lcode.c')
-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}