>>>>> "D" == Daniel Berger <djberg96 / hotmail.com> writes: D> static VALUE ks_allocate(VALUE klass){ D> KstatStruct* ptr = malloc(sizeof(KstatStruct)); D> return Data_Wrap_Struct(klass,0,ks_free,ptr); D> } I don't understand this when you have a nice Data_Make_Struct() D> VALUE ks_record(VALUE self){ D> VALUE rbMHash, rbIHash, rbNHash, rbSHash; VALUE rbMHash, rbIHash, rbNHash; volatile VALUE rbSHash; Guy Decoux