pvalena / rpms / ruby

Forked from rpms/ruby 2 years ago
Clone
25b45e
diff -ruN ruby-1.8.5.orig/hash.c ruby-1.8.5/hash.c
25b45e
--- ruby-1.8.5.orig/hash.c	2006-07-07 00:44:26.000000000 +0900
25b45e
+++ ruby-1.8.5/hash.c	2006-08-30 15:50:31.000000000 +0900
25b45e
@@ -223,20 +223,31 @@
25b45e
     rb_ensure(hash_foreach_call, (VALUE)&arg, hash_foreach_ensure, hash);
25b45e
 }
25b45e
 
25b45e
+static VALUE hash_alloc0 _((VALUE));
25b45e
 static VALUE hash_alloc _((VALUE));
25b45e
 static VALUE
25b45e
-hash_alloc(klass)
25b45e
+hash_alloc0(klass)
25b45e
     VALUE klass;
25b45e
 {
25b45e
     NEWOBJ(hash, struct RHash);
25b45e
     OBJSETUP(hash, klass, T_HASH);
25b45e
 
25b45e
     hash->ifnone = Qnil;
25b45e
-    hash->tbl = st_init_table(&objhash);
25b45e
 
25b45e
     return (VALUE)hash;
25b45e
 }
25b45e
 
25b45e
+static VALUE
25b45e
+hash_alloc(klass)
25b45e
+    VALUE klass;
25b45e
+{
25b45e
+    VALUE hash = hash_alloc0(klass);
25b45e
+
25b45e
+    RHASH(hash)->tbl = st_init_table(&objhash);
25b45e
+
25b45e
+    return hash;
25b45e
+}
25b45e
+
25b45e
 VALUE
25b45e
 rb_hash_new()
25b45e
 {
25b45e
@@ -325,9 +336,7 @@
25b45e
     int i;
25b45e
 
25b45e
     if (argc == 1 && TYPE(argv[0]) == T_HASH) {
25b45e
-	hash = hash_alloc(klass);
25b45e
-	    
25b45e
-	RHASH(hash)->ifnone = Qnil;
25b45e
+	hash = hash_alloc0(klass);
25b45e
 	RHASH(hash)->tbl = st_copy(RHASH(argv[0])->tbl);
25b45e
 
25b45e
 	return hash;