diff options
| author | Yukihiro Matz Matsumoto <[email protected]> | 2013-01-13 00:27:08 +0900 |
|---|---|---|
| committer | Yukihiro Matz Matsumoto <[email protected]> | 2013-01-13 00:27:08 +0900 |
| commit | 0d0b1d1b0db5b1086fc59b0544665be24b3ee378 (patch) | |
| tree | c7ebb247fb619d1cc1a332a9244335f8133d179c /src/class.c | |
| parent | 4e50e54c5e5aa17eed60b90991e8d686a264b757 (diff) | |
| download | mruby-0d0b1d1b0db5b1086fc59b0544665be24b3ee378.tar.gz mruby-0d0b1d1b0db5b1086fc59b0544665be24b3ee378.zip | |
add new specifier "b" (boolean) for mrb_get_args()
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/class.c b/src/class.c index ea0db2bdc..b24dd8a08 100644 --- a/src/class.c +++ b/src/class.c @@ -372,6 +372,7 @@ to_hash(mrb_state *mrb, mrb_value val) a: Array [mrb_value*,int] f: Float [mrb_float] i: Integer [mrb_int] + b: Binary [int] n: Symbol [mrb_sym] &: Block [mrb_value] *: rest argument [mrb_value*,int] @@ -570,6 +571,17 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) } } break; + case 'b': + { + int *boolp = va_arg(ap, int*); + + if (i < argc) { + mrb_value b = *sp++; + *boolp = mrb_test(b); + i++; + } + } + break; case 'n': { mrb_sym *symp; |
