[Groonga-commit] groonga/groonga [master] share common code.

Back to archive index

null+****@clear***** null+****@clear*****
2010年 7月 8日 (木) 13:15:42 JST


Kouhei Sutou	2010-07-08 04:15:42 +0000 (Thu, 08 Jul 2010)

  New Revision: c8911ed3c69fc347903cbee7596b5a57e0663671

  Log:
    share common code.

  Modified files:
    lib/util.c

  Modified: lib/util.c (+13 -22)
===================================================================
--- lib/util.c    2010-07-08 04:13:14 +0000 (788b422)
+++ lib/util.c    2010-07-08 04:15:42 +0000 (6e2b1fd)
@@ -69,7 +69,7 @@ grn_accessor_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
 }
 
 static grn_rc
-grn_store_inspect_body(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
+grn_column_inspect_common(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
 {
   int name_size;
   grn_id range_id;
@@ -83,17 +83,26 @@ grn_store_inspect_body(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
   range_id = grn_obj_get_range(ctx, obj);
   if (range_id) {
     grn_obj *range = grn_ctx_at(ctx, range_id);
+    GRN_TEXT_PUTS(ctx, buf, " range:");
     if (range) {
-      GRN_TEXT_PUTS(ctx, buf, " range:");
       name_size = grn_obj_name(ctx, range, NULL, 0);
       if (name_size) {
         grn_bulk_space(ctx, buf, name_size);
         grn_obj_name(ctx, range, GRN_BULK_CURR(buf) - name_size, name_size);
       }
       grn_obj_unlink(ctx, range);
+    } else {
+      grn_text_lltoa(ctx, buf, range_id);
     }
   }
 
+  return GRN_SUCCESS;
+}
+
+static grn_rc
+grn_store_inspect_body(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
+{
+  grn_column_inspect_common(ctx, buf, obj);
   GRN_TEXT_PUTS(ctx, buf, " type:");
   switch (obj->header.flags & GRN_OBJ_COLUMN_TYPE_MASK) {
   case GRN_OBJ_COLUMN_VECTOR :
@@ -147,28 +156,10 @@ grn_ii_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
 {
   grn_obj sources;
   int name_size, i, n, have_flags = 0;
-  grn_id range_id, *source_ids;
+  grn_id *source_ids;
 
   GRN_TEXT_PUTS(ctx, buf, "#<column:index ");
-  name_size = grn_obj_name(ctx, obj, NULL, 0);
-  if (name_size) {
-    grn_bulk_space(ctx, buf, name_size);
-    grn_obj_name(ctx, obj, GRN_BULK_CURR(buf) - name_size, name_size);
-  }
-
-  range_id = grn_obj_get_range(ctx, obj);
-  if (range_id) {
-    grn_obj *range = grn_ctx_at(ctx, range_id);
-    if (range) {
-      GRN_TEXT_PUTS(ctx, buf, " range:");
-      name_size = grn_obj_name(ctx, range, NULL, 0);
-      if (name_size) {
-        grn_bulk_space(ctx, buf, name_size);
-        grn_obj_name(ctx, range, GRN_BULK_CURR(buf) - name_size, name_size);
-      }
-      grn_obj_unlink(ctx, range);
-    }
-  }
+  grn_column_inspect_common(ctx, buf, obj);
 
   GRN_TEXT_INIT(&sources, 0);
   grn_obj_get_info(ctx, obj, GRN_INFO_SOURCE, &sources);




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