[Groonga-commit] groonga/groonga at 4f523fd [pat-fix-unexpected-count-up] pat: fix unexpected count up

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Oct 9 21:33:51 JST 2015


Kouhei Sutou	2015-10-09 21:33:51 +0900 (Fri, 09 Oct 2015)

  New Revision: 4f523fda2f9d893f15226260d7a1b4a354f2cc8b
  https://github.com/groonga/groonga/commit/4f523fda2f9d893f15226260d7a1b4a354f2cc8b

  Message:
    pat: fix unexpected count up

  Modified files:
    lib/pat.c

  Modified: lib/pat.c (+5 -5)
===================================================================
--- lib/pat.c    2015-10-09 21:34:33 +0900 (e24dbe7)
+++ lib/pat.c    2015-10-09 21:33:51 +0900 (73b92f5)
@@ -703,10 +703,10 @@ _grn_pat_add(grn_ctx *ctx, grn_pat *pat, const uint8_t *key, uint32_t size, uint
     if (*lkey && size2) {
       if (pat->header->garbages[0]) {
         r = pat->header->garbages[0];
-        pat->header->n_entries++;
-        pat->header->n_garbages--;
         PAT_AT(pat, r, rn);
         if (!rn) { return 0; }
+        pat->header->n_entries++;
+        pat->header->n_garbages--;
         pat->header->garbages[0] = rn->lr[0];
       } else {
         if (!(rn = pat_node_new(ctx, pat, &r))) { return 0; }
@@ -718,12 +718,12 @@ _grn_pat_add(grn_ctx *ctx, grn_pat *pat, const uint8_t *key, uint32_t size, uint
       if (pat->header->garbages[size2]) {
         uint8_t *keybuf;
         r = pat->header->garbages[size2];
-        pat->header->n_entries++;
-        pat->header->n_garbages--;
         PAT_AT(pat, r, rn);
         if (!rn) { return 0; }
-        pat->header->garbages[size2] = rn->lr[0];
         if (!(keybuf = pat_node_get_key(ctx, pat, rn))) { return 0; }
+        pat->header->n_entries++;
+        pat->header->n_garbages--;
+        pat->header->garbages[size2] = rn->lr[0];
         PAT_LEN_SET(rn, size);
         grn_memcpy(keybuf, key, size);
       } else {
-------------- next part --------------
HTML����������������������������...
Descargar 



More information about the Groonga-commit mailing list
Back to archive index