aboutsummaryrefslogtreecommitdiff
path: root/src/lj_err.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_err.c')
-rw-r--r--src/lj_err.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/lj_err.c b/src/lj_err.c
index e0fb7167..8ff0a455 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -16,6 +16,7 @@
16#include "lj_ff.h" 16#include "lj_ff.h"
17#include "lj_trace.h" 17#include "lj_trace.h"
18#include "lj_vm.h" 18#include "lj_vm.h"
19#include "lj_strfmt.h"
19 20
20/* 21/*
21** LuaJIT can either use internal or external frame unwinding: 22** LuaJIT can either use internal or external frame unwinding:
@@ -569,7 +570,7 @@ LJ_NORET LJ_NOINLINE static void err_msgv(lua_State *L, ErrMsg em, ...)
569 va_list argp; 570 va_list argp;
570 va_start(argp, em); 571 va_start(argp, em);
571 if (curr_funcisL(L)) L->top = curr_topL(L); 572 if (curr_funcisL(L)) L->top = curr_topL(L);
572 msg = lj_str_pushvf(L, err2msg(em), argp); 573 msg = lj_strfmt_pushvf(L, err2msg(em), argp);
573 va_end(argp); 574 va_end(argp);
574 lj_debug_addloc(L, msg, L->base-1, NULL); 575 lj_debug_addloc(L, msg, L->base-1, NULL);
575 lj_err_run(L); 576 lj_err_run(L);
@@ -588,10 +589,10 @@ LJ_NOINLINE void lj_err_lex(lua_State *L, GCstr *src, const char *tok,
588 char buff[LUA_IDSIZE]; 589 char buff[LUA_IDSIZE];
589 const char *msg; 590 const char *msg;
590 lj_debug_shortname(buff, src, line); 591 lj_debug_shortname(buff, src, line);
591 msg = lj_str_pushvf(L, err2msg(em), argp); 592 msg = lj_strfmt_pushvf(L, err2msg(em), argp);
592 msg = lj_str_pushf(L, "%s:%d: %s", buff, line, msg); 593 msg = lj_strfmt_pushf(L, "%s:%d: %s", buff, line, msg);
593 if (tok) 594 if (tok)
594 lj_str_pushf(L, err2msg(LJ_ERR_XNEAR), msg, tok); 595 lj_strfmt_pushf(L, err2msg(LJ_ERR_XNEAR), msg, tok);
595 lj_err_throw(L, LUA_ERRSYNTAX); 596 lj_err_throw(L, LUA_ERRSYNTAX);
596} 597}
597 598
@@ -675,7 +676,7 @@ LJ_NOINLINE void lj_err_callerv(lua_State *L, ErrMsg em, ...)
675 const char *msg; 676 const char *msg;
676 va_list argp; 677 va_list argp;
677 va_start(argp, em); 678 va_start(argp, em);
678 msg = lj_str_pushvf(L, err2msg(em), argp); 679 msg = lj_strfmt_pushvf(L, err2msg(em), argp);
679 va_end(argp); 680 va_end(argp);
680 lj_err_callermsg(L, msg); 681 lj_err_callermsg(L, msg);
681} 682}
@@ -695,9 +696,9 @@ LJ_NORET LJ_NOINLINE static void err_argmsg(lua_State *L, int narg,
695 if (narg < 0 && narg > LUA_REGISTRYINDEX) 696 if (narg < 0 && narg > LUA_REGISTRYINDEX)
696 narg = (int)(L->top - L->base) + narg + 1; 697 narg = (int)(L->top - L->base) + narg + 1;
697 if (ftype && ftype[3] == 'h' && --narg == 0) /* Check for "method". */ 698 if (ftype && ftype[3] == 'h' && --narg == 0) /* Check for "method". */
698 msg = lj_str_pushf(L, err2msg(LJ_ERR_BADSELF), fname, msg); 699 msg = lj_strfmt_pushf(L, err2msg(LJ_ERR_BADSELF), fname, msg);
699 else 700 else
700 msg = lj_str_pushf(L, err2msg(LJ_ERR_BADARG), narg, fname, msg); 701 msg = lj_strfmt_pushf(L, err2msg(LJ_ERR_BADARG), narg, fname, msg);
701 lj_err_callermsg(L, msg); 702 lj_err_callermsg(L, msg);
702} 703}
703 704
@@ -707,7 +708,7 @@ LJ_NOINLINE void lj_err_argv(lua_State *L, int narg, ErrMsg em, ...)
707 const char *msg; 708 const char *msg;
708 va_list argp; 709 va_list argp;
709 va_start(argp, em); 710 va_start(argp, em);
710 msg = lj_str_pushvf(L, err2msg(em), argp); 711 msg = lj_strfmt_pushvf(L, err2msg(em), argp);
711 va_end(argp); 712 va_end(argp);
712 err_argmsg(L, narg, msg); 713 err_argmsg(L, narg, msg);
713} 714}
@@ -723,7 +724,7 @@ LJ_NOINLINE void lj_err_argtype(lua_State *L, int narg, const char *xname)
723{ 724{
724 TValue *o = narg < 0 ? L->top + narg : L->base + narg-1; 725 TValue *o = narg < 0 ? L->top + narg : L->base + narg-1;
725 const char *tname = o < L->top ? lj_typename(o) : lj_obj_typename[0]; 726 const char *tname = o < L->top ? lj_typename(o) : lj_obj_typename[0];
726 const char *msg = lj_str_pushf(L, err2msg(LJ_ERR_BADTYPE), xname, tname); 727 const char *msg = lj_strfmt_pushf(L, err2msg(LJ_ERR_BADTYPE), xname, tname);
727 err_argmsg(L, narg, msg); 728 err_argmsg(L, narg, msg);
728} 729}
729 730
@@ -773,7 +774,7 @@ LUALIB_API int luaL_error(lua_State *L, const char *fmt, ...)
773 const char *msg; 774 const char *msg;
774 va_list argp; 775 va_list argp;
775 va_start(argp, fmt); 776 va_start(argp, fmt);
776 msg = lj_str_pushvf(L, fmt, argp); 777 msg = lj_strfmt_pushvf(L, fmt, argp);
777 va_end(argp); 778 va_end(argp);
778 lj_err_callermsg(L, msg); 779 lj_err_callermsg(L, msg);
779 return 0; /* unreachable */ 780 return 0; /* unreachable */