ruby 1.9 porting problem

J

Jeff Davis

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 Davis
 
M

Michael Neumann

Jeff said:
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;


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
 
J

Jeff Davis

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;

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 ;)

Regards,
Jeff Davis
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top