@@ -295,7 +295,7 @@ mrb_ary_plus(mrb_state *mrb, mrb_value self)
295295
296296 mrb_get_args (mrb , "a" , & ptr , & blen );
297297 if (ARY_MAX_SIZE - blen < a1 -> len ) {
298- mrb_raise (mrb , E_ARGUMENT_ERROR , "array size too big" );
298+ mrb_raise (mrb , E_ARGUMENT_ERROR , "array size too big" );
299299 }
300300 a2 = ary_new_capa (mrb , a1 -> len + blen );
301301 array_copy (a2 -> ptr , a1 -> ptr , a1 -> len );
@@ -349,7 +349,7 @@ mrb_ary_times(mrb_state *mrb, mrb_value self)
349349 }
350350 if (times == 0 ) return mrb_ary_new (mrb );
351351 if (ARY_MAX_SIZE / times < a1 -> len ) {
352- mrb_raise (mrb , E_ARGUMENT_ERROR , "array size too big" );
352+ mrb_raise (mrb , E_ARGUMENT_ERROR , "array size too big" );
353353 }
354354 a2 = ary_new_capa (mrb , a1 -> len * times );
355355 ptr = a2 -> ptr ;
@@ -1031,7 +1031,11 @@ mrb_ary_join_m(mrb_state *mrb, mrb_value ary)
10311031{
10321032 mrb_value sep = mrb_nil_value ();
10331033
1034- mrb_get_args (mrb , "|S" , & sep );
1034+ mrb_get_args (mrb , "|o" , & sep );
1035+ if (!(mrb_nil_p (sep ) || mrb_type (sep ) == MRB_TT_STRING )) {
1036+ mrb_raise (mrb , E_TYPE_ERROR , "expected String" );
1037+ return mrb_nil_value ();
1038+ }
10351039 return mrb_ary_join (mrb , ary , sep );
10361040}
10371041
0 commit comments