summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--st.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 03b534b56f..f27fe345a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Mar 31 10:01:39 2012 Sokolov Yura <funny-falcon <funny.falcon@gmail.com>>
+
+ * st.c (st_delete): use real_entries in st_delete for packed tables
+
Sat Mar 31 07:53:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* st.c (st_foreach_check): remove the entry by replacing with never
diff --git a/st.c b/st.c
index af2dfd9e82..e46fcaf268 100644
--- a/st.c
+++ b/st.c
@@ -731,7 +731,7 @@ st_delete(register st_table *table, register st_data_t *key, st_data_t *value)
if (table->entries_packed) {
st_index_t i = find_packed_index(table, hash_val, *key);
- if (i < table->num_entries) {
+ if (i < table->real_entries) {
if (value != 0) *value = PVAL(table, i);
*key = PKEY(table, i);
remove_packed_entry(table, i);