From 9ed8c1f15e3f755a6421a37ba114562071a98404 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Sun, 15 Jan 2012 15:46:41 +0000 Subject: st refactor add_packed_direct a bit git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- st.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/st.c b/st.c index 9e16197dc8..aa0da569ab 100644 --- a/st.c +++ b/st.c @@ -469,10 +469,9 @@ unpack_entries(register st_table *table) *table = tmp_table; } -static int +static void add_packed_direct(st_table *table, st_data_t key, st_data_t value) { - int res = 1; if (table->num_entries < MAX_PACKED_NUMHASH) { st_index_t i = table->num_entries++; PKEY_SET(table, i, key); @@ -480,9 +479,8 @@ add_packed_direct(st_table *table, st_data_t key, st_data_t value) } else { unpack_entries(table); - res = 0; + add_direct(table, key, value, key, key % table->num_bins); } - return res; } @@ -498,9 +496,8 @@ st_insert(register st_table *table, register st_data_t key, st_data_t value) PVAL_SET(table, i, value); return 1; } - if (add_packed_direct(table, key, value)) { - return 0; - } + add_packed_direct(table, key, value); + return 0; } hash_val = do_hash(key, table); @@ -530,9 +527,8 @@ st_insert2(register st_table *table, register st_data_t key, st_data_t value, PVAL_SET(table, i, value); return 1; } - if (add_packed_direct(table, key, value)) { - return 0; - } + add_packed_direct(table, key, value); + return 0; } hash_val = do_hash(key, table); @@ -556,9 +552,8 @@ st_add_direct(st_table *table, st_data_t key, st_data_t value) st_index_t hash_val, bin_pos; if (table->entries_packed) { - if (add_packed_direct(table, key, value)) { - return; - } + add_packed_direct(table, key, value); + return; } hash_val = do_hash(key, table); -- cgit v1.2.3