From: Andre Nathan Date: 2007-11-23T23:37:36+09:00 Subject: Re: Calling and passing blocks in a C extension Guy Decoux pointed me my stupid mistake... > static VALUE > foo(int argc, VALUE *argv, VALUE self) > { > VALUE block; > int x = 0; > VALUE data[2]; + rb_scan_args(argc, argv, "00&", &block); > data[0] = (VALUE)&x; > data[1] = block; - rb_scan_args(argc, argv, "00&", &block); > rb_iterate(my_iterator, 0, process_i, (VALUE)data); > return(self); > } Andre