diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-10-31 18:19:23 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-31 18:19:23 +0000 |
commit | 89dd05fdf35ce465fcc2b3588337f79f818a78aa (patch) | |
tree | 8cd34c9435fd0feca4d35184649bc002cc53d260 /src/script/common/c_internal.h | |
parent | 2dff3dd03f7ba25f3fab7c360759ddbf93615668 (diff) | |
download | minetest-89dd05fdf35ce465fcc2b3588337f79f818a78aa.tar.gz minetest-89dd05fdf35ce465fcc2b3588337f79f818a78aa.tar.bz2 minetest-89dd05fdf35ce465fcc2b3588337f79f818a78aa.zip |
Fix segfault in deprecation logging due to tail call, log by default (#10174)
Diffstat (limited to 'src/script/common/c_internal.h')
-rw-r--r-- | src/script/common/c_internal.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/script/common/c_internal.h b/src/script/common/c_internal.h index 442546332..452c2dd5e 100644 --- a/src/script/common/c_internal.h +++ b/src/script/common/c_internal.h @@ -114,5 +114,25 @@ void script_error(lua_State *L, int pcall_result, const char *mod, const char *f void script_run_callbacks_f(lua_State *L, int nargs, RunCallbacksMode mode, const char *fxn); +enum class DeprecatedHandlingMode { + Ignore, + Log, + Error +}; + +/** + * Reads `deprecated_lua_api_handling` in settings, returns cached value. + * + * @return DeprecatedHandlingMode + */ +DeprecatedHandlingMode get_deprecated_handling_mode(); + +/** + * Handles a deprecation warning based on user settings + * + * @param L Lua State + * @param message The deprecation method + * @param stack_depth How far on the stack to the first user function (ie: not builtin or core) + */ void log_deprecated(lua_State *L, const std::string &message, int stack_depth=1); |