summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-01 14:04:38 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-01 14:04:38 +0000
commit69c213fbc72dc33d1a884660ec6c67b134a796e9 (patch)
tree75f7f384423cea7796cda36768cee52257c88160
parent78008d342e7bd31d706f6c71465505e912209a3c (diff)
* hash.c (rb_hash_s_create): should access converted hash value.
[ruby-dev:34555] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--hash.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6841574c6a..453226880b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu May 1 20:47:30 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * hash.c (rb_hash_s_create): should access converted hash value.
+ [ruby-dev:34555]
+
Thu May 1 20:31:09 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* test/ruby/test_parse.rb (TestParse::test_void_expr_stmts_value):
diff --git a/hash.c b/hash.c
index 8d3567e315..2ba8033b77 100644
--- a/hash.c
+++ b/hash.c
@@ -344,8 +344,8 @@ rb_hash_s_create(int argc, VALUE *argv, VALUE klass)
tmp = rb_hash_s_try_convert(Qnil, argv[0]);
if (!NIL_P(tmp)) {
hash = hash_alloc(klass);
- if (RHASH(argv[0])->ntbl) {
- RHASH(hash)->ntbl = st_copy(RHASH(argv[0])->ntbl);
+ if (RHASH(tmp)->ntbl) {
+ RHASH(hash)->ntbl = st_copy(RHASH(tmp)->ntbl);
}
return hash;
}