diff options
Diffstat (limited to 'include/mruby.h')
| -rw-r--r-- | include/mruby.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/include/mruby.h b/include/mruby.h index 81963908e..1413d604e 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -862,11 +862,14 @@ mrb_get_mid(mrb_state *mrb) /* get method symbol */ return mrb->c->ci->mid; } -static inline mrb_int -mrb_get_argc(mrb_state *mrb) /* get argc */ -{ - return mrb->c->ci->argc; -} +/** + * Retrieve number of arguments from mrb_state. + * + * Correctly handles *splat arguments. + */ +MRB_API mrb_int mrb_get_argc(mrb_state *mrb); + +MRB_API mrb_value* mrb_get_argv(mrb_state *mrb); /* `strlen` for character string literals (use with caution or `strlen` instead) Adjacent string literals are concatenated in C/C++ in translation phase 6. @@ -1238,7 +1241,7 @@ MRB_API mrb_value mrb_format(mrb_state *mrb, const char *format, ...); /* use naive memcpy and memset instead */ #undef memcpy #undef memset -static inline void* +static void* mrbmemcpy(void *dst, const void *src, size_t n) { char *d = (char*)dst; @@ -1249,7 +1252,7 @@ mrbmemcpy(void *dst, const void *src, size_t n) } #define memcpy(a,b,c) mrbmemcpy(a,b,c) -static inline void* +static void* mrbmemset(void *s, int c, size_t n) { char *t = (char*)s; |
