From: sfan5 Date: Thu, 23 Nov 2017 22:35:52 +0000 (+0100) Subject: Hint at problematic code when logging deprecated calls X-Git-Tag: 0.4.17~49 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7cc1a36b3c0ce3da66881b02fce7248543d20163;p=oweals%2Fminetest.git Hint at problematic code when logging deprecated calls --- diff --git a/src/script/common/c_internal.cpp b/src/script/common/c_internal.cpp index b349f9dd1..3fa044172 100644 --- a/src/script/common/c_internal.cpp +++ b/src/script/common/c_internal.cpp @@ -178,9 +178,15 @@ void log_deprecated(lua_State *L, const std::string &message) } if (do_log) { - warningstream << message << std::endl; - // L can be NULL if we get called by log_deprecated(const std::string &msg) - // from scripting_game.cpp. + warningstream << message; + if (L) { // L can be NULL if we get called from scripting_game.cpp + lua_Debug ar; + FATAL_ERROR_IF(!lua_getstack(L, 2, &ar), "lua_getstack() failed"); + FATAL_ERROR_IF(!lua_getinfo(L, "Sl", &ar), "lua_getinfo() failed"); + warningstream << " (at " << ar.short_src << ":" << ar.currentline << ")"; + } + warningstream << std::endl; + if (L) { if (do_error) script_error(L, LUA_ERRRUN, NULL, NULL);