[Groonga-commit] groonga/groonga [master] Add NULL check

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Nov 9 17:37:51 JST 2012


Kouhei Sutou	2012-11-09 17:37:51 +0900 (Fri, 09 Nov 2012)

  New Revision: ae33a347e2dcff9c8988aeca852a447a53a8832c
  https://github.com/groonga/groonga/commit/ae33a347e2dcff9c8988aeca852a447a53a8832c

  Log:
    Add NULL check

  Modified files:
    lib/ii.c

  Modified: lib/ii.c (+16 -14)
===================================================================
--- lib/ii.c    2012-11-09 16:48:08 +0900 (c5a8f15)
+++ lib/ii.c    2012-11-09 17:37:51 +0900 (eb80a0c)
@@ -7279,23 +7279,25 @@ grn_ii_buffer_commit(grn_ctx *ctx, grn_ii_buffer *ii_buffer)
       grn_table_cursor *tc;
       tc = grn_table_cursor_open(ctx, ii_buffer->lexicon,
                                  NULL, 0, NULL, 0, 0, -1, II_BUFFER_ORDER);
-      while ((tid = grn_table_cursor_next(ctx, tc)) != GRN_ID_NIL) {
-        int nrests = 0;
-        int nhits = 0;
-        uint32_t i;
-        for (i = 0; i < ii_buffer->nblocks; i++) {
-          if (ii_buffer->blocks[i].tid == tid) {
-            hits[nhits++] = &ii_buffer->blocks[i];
+      if (tc) {
+        while ((tid = grn_table_cursor_next(ctx, tc)) != GRN_ID_NIL) {
+          int nrests = 0;
+          int nhits = 0;
+          uint32_t i;
+          for (i = 0; i < ii_buffer->nblocks; i++) {
+            if (ii_buffer->blocks[i].tid == tid) {
+              hits[nhits++] = &ii_buffer->blocks[i];
+            }
+            if (ii_buffer->blocks[i].tid) { nrests++; }
           }
-          if (ii_buffer->blocks[i].tid) { nrests++; }
+          if (nhits) { grn_ii_buffer_merge(ctx, ii_buffer, tid, hits, nhits); }
+          if (!nrests) { break; }
         }
-        if (nhits) { grn_ii_buffer_merge(ctx, ii_buffer, tid, hits, nhits); }
-        if (!nrests) { break; }
-      }
-      if (ii_buffer->packed_len) {
-        grn_ii_buffer_chunk_flush(ctx, ii_buffer);
+        if (ii_buffer->packed_len) {
+          grn_ii_buffer_chunk_flush(ctx, ii_buffer);
+        }
+        grn_table_cursor_close(ctx, tc);
       }
-      grn_table_cursor_close(ctx, tc);
       GRN_FREE(hits);
     }
   }
-------------- next part --------------
HTML����������������������������...
Download 



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