ruby-changes:4584
From: ko1@a...
Date: Sat, 19 Apr 2008 18:42:44 +0900 (JST)
Subject: [ruby-changes:4584] knu - Ruby:r16078 (ruby_1_8): * intern.h, hash.c (rb_hash_lookup): New internal function to
knu 2008-04-19 18:42:27 +0900 (Sat, 19 Apr 2008)
New Revision: 16078
Modified files:
branches/ruby_1_8/ChangeLog
branches/ruby_1_8/hash.c
branches/ruby_1_8/intern.h
Log:
* intern.h, hash.c (rb_hash_lookup): New internal function to
check if a key exists in a hash, ignoring #default; backported
from 1.9.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/intern.h?r1=16078&r2=16077&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16078&r2=16077&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/hash.c?r1=16078&r2=16077&diff_format=u
Index: ruby_1_8/intern.h
===================================================================
--- ruby_1_8/intern.h (revision 16077)
+++ ruby_1_8/intern.h (revision 16078)
@@ -270,6 +270,7 @@
VALUE rb_hash_new _((void));
VALUE rb_hash_freeze _((VALUE));
VALUE rb_hash_aref _((VALUE, VALUE));
+VALUE rb_hash_lookup _((VALUE, VALUE));
VALUE rb_hash_aset _((VALUE, VALUE, VALUE));
VALUE rb_hash_delete_if _((VALUE));
VALUE rb_hash_delete _((VALUE,VALUE));
Index: ruby_1_8/hash.c
===================================================================
--- ruby_1_8/hash.c (revision 16077)
+++ ruby_1_8/hash.c (revision 16078)
@@ -454,6 +454,18 @@
return val;
}
+VALUE
+rb_hash_lookup(hash, key)
+ VALUE hash, key;
+{
+ VALUE val;
+
+ if (!st_lookup(RHASH(hash)->tbl, key, &val)) {
+ return Qnil; /* without Hash#default */
+ }
+ return val;
+}
+
/*
* call-seq:
* hsh.fetch(key [, default] ) => obj
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog (revision 16077)
+++ ruby_1_8/ChangeLog (revision 16078)
@@ -1,3 +1,9 @@
+Sat Apr 19 18:42:04 2008 Akinori MUSHA <knu@i...>
+
+ * intern.h, hash.c (rb_hash_lookup): New internal function to
+ check if a key exists in a hash, ignoring #default; backported
+ from 1.9.
+
Fri Apr 18 18:56:57 2008 Akinori MUSHA <knu@i...>
* ext/syck/rubyext.c (syck_genericresolver_node_import): should
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/