diff --git a/pkgs/ruby/ext/default/assert.c b/pkgs/ruby/ext/default/assert.c index 3b89941..72e9294 100644 --- a/pkgs/ruby/ext/default/assert.c +++ b/pkgs/ruby/ext/default/assert.c @@ -8,8 +8,7 @@ static VALUE rb_KernAux_assert_cb_EQ(VALUE self, VALUE assert_cb); static VALUE rb_KernAux_assert_do(VALUE self, VALUE file, VALUE line, VALUE msg); -static ID rb_intern_call; - +static ID rb_intern_call = Qnil; static VALUE rb_KernAux = Qnil; void init_assert() diff --git a/pkgs/ruby/ext/default/cmdline.c b/pkgs/ruby/ext/default/cmdline.c index df5bfa2..6c42c57 100644 --- a/pkgs/ruby/ext/default/cmdline.c +++ b/pkgs/ruby/ext/default/cmdline.c @@ -29,7 +29,8 @@ static const struct rb_data_type_struct info = { .flags = RUBY_TYPED_FREE_IMMEDIATELY, }; -static ID rb_intern_freeze, rb_intern_new; +static ID rb_intern_freeze = Qnil; +static ID rb_intern_new = Qnil; static VALUE rb_KernAux = Qnil; static VALUE rb_KernAux_Error = Qnil; @@ -39,7 +40,7 @@ static VALUE rb_ANON_Data = Qnil; void init_cmdline() { rb_gc_register_mark_object(rb_intern_freeze = rb_intern("freeze")); - rb_gc_register_mark_object(rb_intern_new = rb_intern("new")); + rb_gc_register_mark_object(rb_intern_new = rb_intern("new")); rb_gc_register_mark_object(rb_KernAux = rb_define_module("KernAux")); rb_gc_register_mark_object(rb_KernAux_Error = @@ -48,6 +49,7 @@ void init_cmdline() rb_define_class_under(rb_KernAux, "CmdlineError", rb_KernAux_Error)); rb_gc_register_mark_object(rb_ANON_Data = rb_funcall(rb_cClass, rb_intern_new, 1, rb_cObject)); + rb_define_alloc_func(rb_ANON_Data, rb_ANON_Data_ALLOC); rb_define_singleton_method(rb_KernAux, "cmdline", rb_KernAux_cmdline, 1); } diff --git a/pkgs/ruby/ext/default/main.c b/pkgs/ruby/ext/default/main.c index e29108b..6eff928 100644 --- a/pkgs/ruby/ext/default/main.c +++ b/pkgs/ruby/ext/default/main.c @@ -6,11 +6,6 @@ #include #include -static ID rb_intern_LESS, rb_intern_call, rb_intern_freeze; - -static VALUE rb_KernAux = Qnil; -static VALUE rb_KernAux_Error = Qnil; - void init_assert(); #ifdef HAVE_KERNAUX_SNPRINTF void init_printf(); @@ -26,6 +21,13 @@ static VALUE rb_KernAux_utoa10(VALUE self, VALUE number); static VALUE rb_KernAux_itoa10(VALUE self, VALUE number); #endif +static ID rb_intern_LESS = Qnil; +static ID rb_intern_call = Qnil; +static ID rb_intern_freeze = Qnil; + +static VALUE rb_KernAux = Qnil; +static VALUE rb_KernAux_Error = Qnil; + void Init_default() { init_assert(); @@ -41,7 +43,6 @@ void Init_default() rb_gc_register_mark_object(rb_intern_freeze = rb_intern("freeze")); rb_gc_register_mark_object(rb_KernAux = rb_define_module("KernAux")); - rb_gc_register_mark_object(rb_KernAux_Error = rb_define_class_under(rb_KernAux, "Error", rb_eRuntimeError)); diff --git a/pkgs/ruby/ext/default/printf.c b/pkgs/ruby/ext/default/printf.c index 93b1f66..213914e 100644 --- a/pkgs/ruby/ext/default/printf.c +++ b/pkgs/ruby/ext/default/printf.c @@ -5,14 +5,12 @@ static VALUE rb_KernAux_snprintf1(int argc, const VALUE *argv, VALUE self); -static ID rb_intern_freeze; - +static ID rb_intern_freeze = Qnil; static VALUE rb_KernAux = Qnil; void init_printf() { rb_gc_register_mark_object(rb_intern_freeze = rb_intern("freeze")); - rb_gc_register_mark_object(rb_KernAux = rb_define_module("KernAux")); rb_define_singleton_method(rb_KernAux, "snprintf1",