summaryrefslogtreecommitdiff
path: root/ext/etc/etc.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/etc/etc.c')
-rw-r--r--ext/etc/etc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/etc/etc.c b/ext/etc/etc.c
index 1bd767d09c..22907a5c44 100644
--- a/ext/etc/etc.c
+++ b/ext/etc/etc.c
@@ -512,7 +512,6 @@ Init_etc(void)
rb_define_module_function(mEtc, "endgrent", etc_endgrent, 0);
rb_define_module_function(mEtc, "getgrent", etc_getgrent, 0);
- rb_global_variable(&sPasswd);
sPasswd = rb_struct_define("Passwd",
"name", "passwd", "uid", "gid",
#ifdef HAVE_ST_PW_GECOS
@@ -539,12 +538,15 @@ Init_etc(void)
#endif
NULL);
+ rb_register_mark_object(sPasswd);
+
#ifdef HAVE_GETGRENT
- rb_global_variable(&sGroup);
sGroup = rb_struct_define("Group", "name",
#ifdef HAVE_ST_GR_PASSWD
"passwd",
#endif
"gid", "mem", NULL);
+
+ rb_register_mark_object(sGroup);
#endif
}