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

ruby-changes:74207

From: Samuel <ko1@a...>
Date: Sat, 22 Oct 2022 19:34:24 +0900 (JST)
Subject: [ruby-changes:74207] 8dfe3bdf48 (master): Improved formatting of `hash_foreach_iter` functions. (#6615)

https://git.ruby-lang.org/ruby.git/commit/?id=8dfe3bdf48

From 8dfe3bdf48ff73052de1262e4644c08742abd8e6 Mon Sep 17 00:00:00 2001
From: Samuel Williams <samuel.williams@o...>
Date: Sat, 22 Oct 2022 23:34:00 +1300
Subject: Improved formatting of `hash_foreach_iter` functions. (#6615)

---
 hash.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/hash.c b/hash.c
index 8c20791ede..9218b17421 100644
--- a/hash.c
+++ b/hash.c
@@ -1349,10 +1349,10 @@ static int https://github.com/ruby/ruby/blob/trunk/hash.c#L1349
 hash_ar_foreach_iter(st_data_t key, st_data_t value, st_data_t argp, int error)
 {
     struct hash_foreach_arg *arg = (struct hash_foreach_arg *)argp;
-    int status;
 
     if (error) return ST_STOP;
-    status = (*arg->func)((VALUE)key, (VALUE)value, arg->arg);
+
+    int status = (*arg->func)((VALUE)key, (VALUE)value, arg->arg);
     /* TODO: rehash check? rb_raise(rb_eRuntimeError, "rehash occurred during iteration"); */
 
     switch (status) {
@@ -1363,6 +1363,7 @@ hash_ar_foreach_iter(st_data_t key, st_data_t value, st_data_t argp, int error) https://github.com/ruby/ruby/blob/trunk/hash.c#L1363
       case ST_STOP:
         return ST_STOP;
     }
+
     return ST_CHECK;
 }
 
@@ -1370,15 +1371,16 @@ static int https://github.com/ruby/ruby/blob/trunk/hash.c#L1371
 hash_foreach_iter(st_data_t key, st_data_t value, st_data_t argp, int error)
 {
     struct hash_foreach_arg *arg = (struct hash_foreach_arg *)argp;
-    int status;
-    st_table *tbl;
 
     if (error) return ST_STOP;
-    tbl = RHASH_ST_TABLE(arg->hash);
-    status = (*arg->func)((VALUE)key, (VALUE)value, arg->arg);
+
+    st_table *tbl = RHASH_ST_TABLE(arg->hash);
+    int status = (*arg->func)((VALUE)key, (VALUE)value, arg->arg);
+
     if (RHASH_ST_TABLE(arg->hash) != tbl) {
-    	rb_raise(rb_eRuntimeError, "rehash occurred during iteration");
+        rb_raise(rb_eRuntimeError, "rehash occurred during iteration");
     }
+
     switch (status) {
       case ST_DELETE:
         return ST_DELETE;
@@ -1387,6 +1389,7 @@ hash_foreach_iter(st_data_t key, st_data_t value, st_data_t argp, int error) https://github.com/ruby/ruby/blob/trunk/hash.c#L1389
       case ST_STOP:
         return ST_STOP;
     }
+
     return ST_CHECK;
 }
 
-- 
cgit v1.2.3


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

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