[Groonga-commit] groonga/groonga at c35332f [master] ii: use specified value instead of constant

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Jun 22 11:25:01 JST 2016


Kouhei Sutou	2016-06-22 11:25:01 +0900 (Wed, 22 Jun 2016)

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

  Message:
    ii: use specified value instead of constant

  Modified files:
    lib/ii.c

  Modified: lib/ii.c (+23 -13)
===================================================================
--- lib/ii.c    2016-06-22 10:48:20 +0900 (409dfff)
+++ lib/ii.c    2016-06-22 11:25:01 +0900 (ce09f96)
@@ -158,8 +158,8 @@ segment_get(grn_ctx *ctx, grn_ii *ii)
     if (!pseg) {
       int i;
       uint32_t pmax = 0;
-      char *used = GRN_CALLOC(MAX_PSEG);
-      if (!used) { return MAX_PSEG; }
+      char *used = GRN_CALLOC(ii->seg->header->max_segment);
+      if (!used) { return ii->seg->header->max_segment; }
       for (i = 0; i < GRN_II_MAX_LSEG; i++) {
         if ((pseg = ii->header->ainfo[i]) != NOT_ASSIGNED) {
           if (pseg > pmax) { pmax = pseg; }
@@ -170,12 +170,14 @@ segment_get(grn_ctx *ctx, grn_ii *ii)
           used[pseg] = 1;
         }
       }
-      for (pseg = 0; pseg < MAX_PSEG && used[pseg]; pseg++) ;
+      for (pseg = 0; pseg < ii->seg->header->max_segment && used[pseg]; pseg++) ;
       GRN_FREE(used);
       ii->header->pnext = pmax + 1;
     } else
 #endif /* CUT_OFF_COMPATIBILITY */
-    if (ii->header->pnext < MAX_PSEG) { ii->header->pnext++; }
+    if (ii->header->pnext < ii->seg->header->max_segment) {
+      ii->header->pnext++;
+    }
   }
   return pseg;
 }
@@ -184,7 +186,7 @@ inline static grn_rc
 segment_get_clear(grn_ctx *ctx, grn_ii *ii, uint32_t *pseg)
 {
   uint32_t seg = segment_get(ctx, ii);
-  if (seg < MAX_PSEG) {
+  if (seg < ii->seg->header->max_segment) {
     void *p = NULL;
     GRN_IO_SEG_REF(ii->seg, seg, p);
     if (!p) { return GRN_NO_MEMORY_AVAILABLE; }
@@ -214,7 +216,7 @@ buffer_segment_new(grn_ctx *ctx, grn_ii *ii, uint32_t *segno)
     *segno = lseg;
   }
   pseg = segment_get(ctx, ii);
-  if (pseg < MAX_PSEG) {
+  if (pseg < ii->seg->header->max_segment) {
     ii->header->binfo[lseg] = pseg;
     if (lseg >= ii->header->bmax) { ii->header->bmax = lseg + 1; }
     return GRN_SUCCESS;
@@ -239,28 +241,34 @@ buffer_segment_reserve(grn_ctx *ctx, grn_ii *ii,
     if (ii->header->binfo[i] == NOT_ASSIGNED) { break; }
   }
   *lseg1 = i;
-  if ((*pseg0 = segment_get(ctx, ii)) == MAX_PSEG) {
+  if ((*pseg0 = segment_get(ctx, ii)) == ii->seg->header->max_segment) {
     return GRN_NO_MEMORY_AVAILABLE;
   }
-  if ((*pseg1 = segment_get(ctx, ii)) == MAX_PSEG) {
+  if ((*pseg1 = segment_get(ctx, ii)) == ii->seg->header->max_segment) {
     return GRN_NO_MEMORY_AVAILABLE;
   }
   /*
   {
     uint32_t pseg;
-    char *used = GRN_CALLOC(MAX_PSEG);
+    char *used = GRN_CALLOC(ii->seg->header->max_segment);
     if (!used) { return GRN_NO_MEMORY_AVAILABLE; }
     for (i = 0; i < GRN_II_MAX_LSEG; i++) {
       if ((pseg = ii->header->ainfo[i]) != NOT_ASSIGNED) { used[pseg] = 1; }
       if ((pseg = ii->header->binfo[i]) != NOT_ASSIGNED) { used[pseg] = 1; }
     }
     for (pseg = 0;; pseg++) {
-      if (pseg == MAX_PSEG) { GRN_FREE(used); return GRN_NO_MEMORY_AVAILABLE; }
+      if (pseg == ii->seg->header->max_segment) {
+        GRN_FREE(used);
+        return GRN_NO_MEMORY_AVAILABLE;
+      }
       if (!used[pseg]) { break; }
     }
     *pseg0 = pseg++;
     for (;; pseg++) {
-      if (pseg == MAX_PSEG) { GRN_FREE(used); return GRN_NO_MEMORY_AVAILABLE; }
+      if (pseg == ii->seg->header->max_segment) {
+        GRN_FREE(used);
+        return GRN_NO_MEMORY_AVAILABLE;
+      }
       if (!used[pseg]) { break; }
     }
     *pseg1 = pseg;
@@ -2024,7 +2032,7 @@ buffer_open(grn_ctx *ctx, grn_ii *ii, uint32_t pos, buffer_term **bt, buffer **b
 inline static grn_rc
 buffer_close(grn_ctx *ctx, grn_ii *ii, uint32_t pseg)
 {
-  if (pseg >= MAX_PSEG) {
+  if (pseg >= ii->seg->header->max_segment) {
     GRN_LOG(ctx, GRN_LOG_NOTICE, "invalid pseg buffer_close(%d)", pseg);
     return GRN_INVALID_ARGUMENT;
   }
@@ -3150,7 +3158,9 @@ buffer_flush(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h)
   uint8_t *dc, *sc = NULL;
   uint32_t ds, pseg, scn, dcn = 0;
   if (ii->header->binfo[seg] == NOT_ASSIGNED) { return GRN_FILE_CORRUPT; }
-  if ((ds = segment_get(ctx, ii)) == MAX_PSEG) { return GRN_NO_MEMORY_AVAILABLE; }
+  if ((ds = segment_get(ctx, ii)) == ii->seg->header->max_segment) {
+    return GRN_NO_MEMORY_AVAILABLE;
+  }
   pseg = buffer_open(ctx, ii, SEG2POS(seg, 0), NULL, &sb);
   if (pseg != NOT_ASSIGNED) {
     GRN_IO_SEG_REF(ii->seg, ds, db);
-------------- next part --------------
HTML����������������������������...
下載 



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