[前][次][番号順一覧][スレッド一覧]

ruby-changes:11054

From: nobu <ko1@a...>
Date: Thu, 26 Feb 2009 19:29:23 +0900 (JST)
Subject: [ruby-changes:11054] Ruby:r22648 (trunk): * hash.c (hash_foreach_iter): fix for prototype.

nobu	2009-02-26 19:29:13 +0900 (Thu, 26 Feb 2009)

  New Revision: 22648

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22648

  Log:
    * hash.c (hash_foreach_iter): fix for prototype.

  Modified files:
    trunk/ChangeLog
    trunk/hash.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 22647)
+++ ChangeLog	(revision 22648)
@@ -1,3 +1,7 @@
+Thu Feb 26 19:29:10 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* hash.c (hash_foreach_iter): fix for prototype.
+
 Thu Feb 26 18:36:09 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* common.mk (INSNS, newline.c, miniprelude.c, prelude.c),
Index: hash.c
===================================================================
--- hash.c	(revision 22647)
+++ hash.c	(revision 22648)
@@ -152,20 +152,20 @@
 };
 
 static int
-hash_foreach_iter(VALUE key, VALUE value, struct hash_foreach_arg *arg)
+hash_foreach_iter(st_data_t key, st_data_t value, struct hash_foreach_arg *arg)
 {
     int status;
     st_table *tbl;
 
     tbl = RHASH(arg->hash)->ntbl;
-    if (key == Qundef) return ST_CONTINUE;
-    status = (*arg->func)(key, value, arg->arg);
+    if ((VALUE)key == Qundef) return ST_CONTINUE;
+    status = (*arg->func)((VALUE)key, (VALUE)value, arg->arg);
     if (RHASH(arg->hash)->ntbl != tbl) {
 	rb_raise(rb_eRuntimeError, "rehash occurred during iteration");
     }
     switch (status) {
       case ST_DELETE:
-	st_delete_safe(tbl, (st_data_t*)&key, 0, Qundef);
+	st_delete_safe(tbl, &key, 0, Qundef);
 	FL_SET(arg->hash, HASH_DELETED);
       case ST_CONTINUE:
 	break;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]