[Groonga-commit] groonga/groonga [master] Replace ARRAY_ENTRY_AT() with grn_array_entry_at().

Back to archive index

null+****@clear***** null+****@clear*****
2012年 3月 29日 (木) 10:47:04 JST


Susumu Yata	2012-03-29 10:47:04 +0900 (Thu, 29 Mar 2012)

  New Revision: 8f4b663e6e2fb2a608866f0f852a003c48e63e6a

  Log:
    Replace ARRAY_ENTRY_AT() with grn_array_entry_at().

  Modified files:
    lib/hash.c

  Modified: lib/hash.c (+16 -12)
===================================================================
--- lib/hash.c    2012-03-29 10:52:23 +0900 (a22389a)
+++ lib/hash.c    2012-03-29 10:47:04 +0900 (d6f3c7c)
@@ -202,13 +202,17 @@ enum {
   GRN_IO_ARRAY_AT(array->io, array_seg_value, id, &flags, value);\
 } while (0)
 
-#define ARRAY_ENTRY_AT(array,id,value,addp) do {\
-  if (IO_ARRAYP(array)) {\
-    ARRAY_ENTRY_AT_(array, id, value, addp);\
-  } else {\
-    (value) = grn_tiny_array_at_inline(&array->a, id);\
-  }\
-} while (0)
+inline static void *
+grn_array_entry_at(grn_ctx *ctx, grn_array *array, grn_id id, int flags)
+{
+  if (IO_ARRAYP(array)) {
+    void *value;
+    ARRAY_ENTRY_AT_(array, id, value, flags);
+    return value;
+  } else {
+    return grn_tiny_array_at_inline(&array->a, id);
+  }
+}
 
 inline static grn_bool
 grn_array_bitmap_at(grn_ctx *ctx, grn_array *array, grn_id id)
@@ -415,7 +419,7 @@ grn_array_get_value(grn_ctx *ctx, grn_array *array, grn_id id, void *valuebuf)
   if (ctx && array) {
     void *ee;
     if (!grn_array_bitmap_at(ctx, array, id)) { return 0; }
-    ARRAY_ENTRY_AT(array, id, ee, 0);
+    ee = grn_array_entry_at(ctx, array, id, 0);
     if (ee) {
       if (valuebuf) { memcpy(valuebuf, ee, array->value_size); }
       return array->value_size;
@@ -430,7 +434,7 @@ _grn_array_get_value(grn_ctx *ctx, grn_array *array, grn_id id)
   if (ctx && array) {
     void *ee;
     if (!grn_array_bitmap_at(ctx, array, id)) { return NULL; }
-    ARRAY_ENTRY_AT(array, id, ee, 0);
+    ee = grn_array_entry_at(ctx, array, id, 0);
     return ee;
   }
   return NULL;
@@ -443,7 +447,7 @@ grn_array_set_value(grn_ctx *ctx, grn_array *array, grn_id id,
   if (ctx && array && value) {
     void *ee;
     if (!grn_array_bitmap_at(ctx, array, id)) { return GRN_INVALID_ARGUMENT; }
-    ARRAY_ENTRY_AT(array, id, ee, 0);
+    ee = grn_array_entry_at(ctx, array, id, 0);
     if (ee) {
       switch ((flags & GRN_OBJ_SET_MASK)) {
       case GRN_OBJ_SET :
@@ -632,7 +636,7 @@ grn_array_cursor_get_value(grn_ctx *ctx, grn_array_cursor *c, void **value)
 {
   void *ee;
   if (c && value) {
-    ARRAY_ENTRY_AT(c->array, c->curr_rec, ee, 0);
+    ee = grn_array_entry_at(ctx, c->array, c->curr_rec, 0);
     if (ee) {
       *value = ee;
       return c->array->value_size;
@@ -693,7 +697,7 @@ grn_array_add(grn_ctx *ctx, grn_array *array, void **value)
   void *ee;
   if (!ctx || !array || !(e = array_entry_new(ctx, array))) { return GRN_ID_NIL; }
   (*array->n_entries)++;
-  ARRAY_ENTRY_AT(array, e, ee, GRN_TABLE_ADD);
+  ee = grn_array_entry_at(ctx, array, e, GRN_TABLE_ADD);
   if (value) { *value = ee; }
   return e;
 }




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