diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/error.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/mruby/error.h b/include/mruby/error.h index 9ebc0d335..a715eb0b6 100644 --- a/include/mruby/error.h +++ b/include/mruby/error.h @@ -133,6 +133,14 @@ MRB_API mrb_value mrb_rescue_exceptions(mrb_state *mrb, mrb_func_t body, mrb_val mrb_func_t rescue, mrb_value r_data, mrb_int len, struct RClass **classes); +typedef mrb_value mrb_protect_raw_func(mrb_state *mrb, void *userdata); + +/** + * This API function behaves like `mrb_protect()`. + * The advantage is that it avoids objectifying the user data. + */ +MRB_API mrb_value mrb_protect_raw(mrb_state *mrb, mrb_protect_raw_func *body, void *userdata, mrb_bool *error); + MRB_END_DECL #endif /* MRUBY_ERROR_H */ |
