diff options
Diffstat (limited to 'ldebug.c')
| -rw-r--r-- | ldebug.c | 11 |
1 files changed, 5 insertions, 6 deletions
| @@ -817,16 +817,15 @@ l_noret luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { | |||
| 817 | /* add src:line information to 'msg' */ | 817 | /* add src:line information to 'msg' */ |
| 818 | const char *luaG_addinfo (lua_State *L, const char *msg, TString *src, | 818 | const char *luaG_addinfo (lua_State *L, const char *msg, TString *src, |
| 819 | int line) { | 819 | int line) { |
| 820 | char buff[LUA_IDSIZE]; | 820 | if (src == NULL) /* no debug information? */ |
| 821 | if (src) { | 821 | return luaO_pushfstring(L, "?:?: %s", msg); |
| 822 | else { | ||
| 823 | char buff[LUA_IDSIZE]; | ||
| 822 | size_t idlen; | 824 | size_t idlen; |
| 823 | const char *id = getlstr(src, idlen); | 825 | const char *id = getlstr(src, idlen); |
| 824 | luaO_chunkid(buff, id, idlen); | 826 | luaO_chunkid(buff, id, idlen); |
| 827 | return luaO_pushfstring(L, "%s:%d: %s", buff, line, msg); | ||
| 825 | } | 828 | } |
| 826 | else { /* no source available; use "?" instead */ | ||
| 827 | buff[0] = '?'; buff[1] = '\0'; | ||
| 828 | } | ||
| 829 | return luaO_pushfstring(L, "%s:%d: %s", buff, line, msg); | ||
| 830 | } | 829 | } |
| 831 | 830 | ||
| 832 | 831 | ||
