Ruby 1.9 porting problem

I am having problems porting my extension to 1.9.

I’m doing something like:

static VALUE my_alloc(VALUE klass)
{
return Data_Wrap_Struct(klass, NULL, my_free, NULL);
}

static VALUE my_init(int argc, VALUE *argv, VALUE self)
{

Check_Type(self,T_DATA);
DATA_PTR(self) = my_var;

}

But on the “Check_Type(self,T_DATA)” I get:
“[BUG] unknown type 0x12”.

This worked fine in 1.8. What’s the correct way to do this in 1.9?

Regards,
Jeff D.

Jeff D. wrote:

{

Check_Type(self,T_DATA);
DATA_PTR(self) = my_var;

That generally should work. Have you tried with a non-NULL value in
Data_Wrap_Struct? Have you tried a 0-ary method first?

static VALUE my_init(VALUE self)
{

Check_Type(self,T_DATA);
DATA_PTR(self) = my_var;

Regards,

Michael

On Wed, 2008-01-02 at 06:59 +0900, Michael N. wrote:

static VALUE my_init(int argc, VALUE *argv, VALUE self)
{

Check_Type(self,T_DATA);
DATA_PTR(self) = my_var;

Thank you for the reply. I think I found the problem: I was compiling
the extension against ruby 1.9, but when I ran irb, I was mistakenly
running irb 1.8.

Too many combinations of installations to keep track of when trying to
do portability testing :wink:

Regards,
Jeff D.