add new specifier "b" (boolean) for mrb_get_args()

This commit is contained in:
Yukihiro Matz Matsumoto
2013-01-13 00:27:08 +09:00
parent 4e50e54c5e
commit 0d0b1d1b0d
+12
View File
@@ -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;