]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/script/common/c_internal.h
Remove setlocal and setupvalue from `debug` table whitelist
[dragonfireclient.git] / src / script / common / c_internal.h
index 452c2dd5e098e74198008619fe29c0c90bc99f86..94cfd61fb1912edb4ea76524ada16361c136646c 100644 (file)
@@ -54,6 +54,8 @@ extern "C" {
 #define CUSTOM_RIDX_GLOBALS_BACKUP      (CUSTOM_RIDX_BASE + 1)
 #define CUSTOM_RIDX_CURRENT_MOD_NAME    (CUSTOM_RIDX_BASE + 2)
 #define CUSTOM_RIDX_BACKTRACE           (CUSTOM_RIDX_BASE + 3)
+#define CUSTOM_RIDX_HTTP_API_LUA        (CUSTOM_RIDX_BASE + 4)
+
 
 // Determine if CUSTOM_RIDX_SCRIPTAPI will hold a light or full userdata
 #if defined(__aarch64__) && USE_LUAJIT
@@ -75,9 +77,6 @@ extern "C" {
        }                                                   \
 }
 
-#define script_run_callbacks(L, nargs, mode) \
-       script_run_callbacks_f((L), (nargs), (mode), __FUNCTION__)
-
 // What script_run_callbacks does with the return values of callbacks.
 // Regardless of the mode, if only one callback is defined,
 // its return value is the total return value.
@@ -108,13 +107,17 @@ enum RunCallbacksMode
        // are converted by readParam<bool> to true or false, respectively.
 };
 
+// Gets a backtrace of the current execution point
 std::string script_get_backtrace(lua_State *L);
+// Wrapper for CFunction calls that converts C++ exceptions to Lua errors
 int script_exception_wrapper(lua_State *L, lua_CFunction f);
+// Takes an error from lua_pcall and throws it as a LuaError
 void script_error(lua_State *L, int pcall_result, const char *mod, const char *fxn);
-void script_run_callbacks_f(lua_State *L, int nargs,
-       RunCallbacksMode mode, const char *fxn);
 
-enum class DeprecatedHandlingMode {
+bool script_log_unique(lua_State *L, std::string message, std::ostream &log_to,
+       int stack_depth = 1);
+
+enum DeprecatedHandlingMode {
        Ignore,
        Log,
        Error
@@ -134,5 +137,4 @@ DeprecatedHandlingMode get_deprecated_handling_mode();
  * @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);
+void log_deprecated(lua_State *L, std::string message, int stack_depth = 1);