• R/O
  • SSH
  • HTTPS

dxruby: Commit


Commit MetaInfo

Revision436 (tree)
Time2014-03-08 16:39:27
Authormirichi

Log Message

nilを渡してもtrueになってしまう現象を修正

Change Summary

Incremental Difference

--- branches/1.5dev/image.c (revision 435)
+++ branches/1.5dev/image.c (revision 436)
@@ -547,15 +547,16 @@
547547 ---------------------------------------------------------------------*/
548548 static VALUE Image_loadToArray( int argc, VALUE *argv, VALUE klass )
549549 {
550- VALUE vfilename, vx, vy, vswitch;
550+// VALUE vfilename, vx, vy, vswitch;
551551 VALUE vimage, ary[3];
552552
553- rb_scan_args( argc, argv, "31", &vfilename, &vx, &vy, &vswitch );
553+ if( argc < 3 || argc > 4 ) rb_raise( rb_eArgError, "wrong number of arguments (%d for %d..%d)", argc, 3, 4 );
554+// rb_scan_args( argc, argv, "31", &vfilename, &vx, &vy, &vswitch );
554555
555- vimage = Image_load( 1, &vfilename, cImage );
556- ary[0] = vx;
557- ary[1] = vy;
558- ary[2] = vswitch;
556+ vimage = Image_load( 1, &argv[0], cImage );
557+ ary[0] = argv[1];
558+ ary[1] = argv[2];
559+ ary[2] = argc < 4 ? Qtrue : argv[3];
559560 return Image_sliceToArray( 3, ary, vimage );
560561 }
561562
@@ -800,12 +801,13 @@
800801 HRESULT hr;
801802 int x, y, i, j;
802803 VALUE array, obj;
803- VALUE vx, vy, vswitch;
804+// VALUE vx, vy, vswitch;
804805
805- rb_scan_args( argc, argv, "21", &vx, &vy, &vswitch );
806+ if( argc < 2 || argc > 3 ) rb_raise( rb_eArgError, "wrong number of arguments (%d for %d..%d)", argc, 2, 3 );
807+// rb_scan_args( argc, argv, "21", &vx, &vy, &vswitch );
806808
807- x = NUM2INT( vx );
808- y = NUM2INT( vy );
809+ x = NUM2INT( argv[0] );
810+ y = NUM2INT( argv[1] );
809811
810812 if( x <= 0 || y <= 0 ) rb_raise( eDXRubyError, "画像の数指定が異常値です(x=%d,y=%d) - Image_sliceToArray", x, y );
811813
@@ -826,7 +828,7 @@
826828 /* Ruby配列作成 */
827829 array = rb_ary_new();
828830
829- if( RTEST(vswitch) || vswitch == Qnil )
831+ if( argc < 3 || RTEST(argv[2]) )
830832 {
831833 for( i = 0; i < y; i++ )
832834 {
Show on old repository browser