[Groonga-commit] groonga/groonga [master] Fixed a bug in grn_array_delete_by_id().

Back to archive index

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 :




Groonga-commit メーリングリストの案内
Back to archive index