| 837 | |
| 838 | |
| 839 | l_noret luaG_runerror (lua_State *L, const char *fmt, ...) { |
| 840 | CallInfo *ci = L->ci; |
| 841 | const char *msg; |
| 842 | va_list argp; |
| 843 | luaC_checkGC(L); /* error message uses memory */ |
| 844 | va_start(argp, fmt); |
| 845 | msg = luaO_pushvfstring(L, fmt, argp); /* format message */ |
| 846 | va_end(argp); |
| 847 | if (isLua(ci)) { /* if Lua function, add source:line information */ |
| 848 | luaG_addinfo(L, msg, ci_func(ci)->p->source, getcurrentline(ci)); |
| 849 | setobjs2s(L, L->top.p - 2, L->top.p - 1); /* remove 'msg' */ |
| 850 | L->top.p--; |
| 851 | } |
| 852 | luaG_errormsg(L); |
| 853 | } |
| 854 | |
| 855 | |
| 856 | /* |
no test coverage detected