static VALUE bmcall(VALUE args, VALUE method) { volatile VALUE a; #if WITH_OBJC if (TYPE(args) != T_ARRAY) { return rb_method_call(1, &args, method); } #else if (CLASS_OF(args) != rb_cArray) { args = rb_ary_new3(1, args); } #endif a = args; return rb_method_call(RARRAY_LEN(a), (VALUE *)RARRAY_PTR(a), method); }
static VALUE bmcall(VALUE args, VALUE method) { volatile VALUE a; if (CLASS_OF(args) != rb_cArray) { args = rb_ary_new3(1, args); } a = args; return rb_method_call(RARRAY_LEN(a), RARRAY_PTR(a), method); }
static VALUE sFactoryCall (VALUE args) { VALUE *argsP = RARRAY_PTR(args); return rb_method_call(1, argsP, argsP[1]); }
static VALUE ProcCallMethodWithArgCall (VALUE array) { VALUE *valP = RARRAY_PTR(array); return rb_method_call(1, valP, valP[1]); }
static VALUE ProcCallMethodCall (VALUE method) { return rb_method_call(0, NULL, method); }