diff options
Diffstat (limited to 'src/lj_err.c')
-rw-r--r-- | src/lj_err.c | 21 |
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 */ |