null+****@clear*****
null+****@clear*****
2010年 12月 29日 (水) 12:38:15 JST
Daijiro MORI 2010-12-29 03:38:15 +0000 (Wed, 29 Dec 2010)
New Revision: f3c6cdf989f1051a409e72669421b18fb8263702
Log:
Fixed a bug in grn_array_delete_by_id().
Modified files:
lib/hash.c
Modified: lib/hash.c (+4 -4)
===================================================================
--- lib/hash.c 2010-12-17 03:46:10 +0000 (5122ea2)
+++ lib/hash.c 2010-12-29 03:38:15 +0000 (6fd1c3a)
@@ -403,9 +403,9 @@ grn_array_delete_by_id(grn_ctx *ctx, grn_array *array, grn_id id,
if (!ee) { rc = GRN_INVALID_ARGUMENT; goto exit; }
*((grn_id *)ee) = hh->garbages;
hh->garbages = id;
- (*array->n_entries)--;
- (*array->n_garbages)++;
}
+ (*array->n_entries)--;
+ (*array->n_garbages)++;
GRN_IO_ARRAY_BIT_OFF(array->io, array_seg_bitmap, id);
} else {
if (array->value_size >= sizeof(grn_id)) {
@@ -414,9 +414,9 @@ grn_array_delete_by_id(grn_ctx *ctx, grn_array *array, grn_id id,
if (!ee) { rc = GRN_INVALID_ARGUMENT; goto exit; }
*((grn_id *)ee) = array->garbages;
array->garbages = id;
- (*array->n_entries)--;
- (*array->n_garbages)++;
}
+ (*array->n_entries)--;
+ (*array->n_garbages)++;
GRN_TINY_ARRAY_BIT_OFF(&array->bitmap, id);
}
exit :