[Groonga-commit] groonga/groonga at 970782c [master] Support inspecting pvector

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Nov 5 11:19:09 JST 2014


Kouhei Sutou	2014-11-05 11:19:09 +0900 (Wed, 05 Nov 2014)

  New Revision: 970782c8f99edfae74722ede16fa139897a75be5
  https://github.com/groonga/groonga/commit/970782c8f99edfae74722ede16fa139897a75be5

  Message:
    Support inspecting pvector

  Modified files:
    lib/util.c
    test/unit/core/test-inspect.c

  Modified: lib/util.c (+23 -2)
===================================================================
--- lib/util.c    2014-11-04 23:35:29 +0900 (137a093)
+++ lib/util.c    2014-11-05 11:19:09 +0900 (2cc308a)
@@ -339,6 +339,27 @@ grn_expr_inspect(grn_ctx *ctx, grn_obj *buffer, grn_obj *expr)
 }
 
 static grn_rc
+grn_pvector_inspect(grn_ctx *ctx, grn_obj *buffer, grn_obj *pvector)
+{
+  int i, n;
+
+  GRN_TEXT_PUTS(ctx, buffer, "[");
+  n = GRN_BULK_VSIZE(pvector) / sizeof(grn_obj *);
+  for (i = 0; i < n; i++) {
+    grn_obj *element = GRN_PTR_VALUE_AT(pvector, i);
+
+    if (i > 0) {
+      GRN_TEXT_PUTS(ctx, buffer, ", ");
+    }
+
+    grn_inspect(ctx, buffer, element);
+  }
+  GRN_TEXT_PUTS(ctx, buffer, "]");
+
+  return GRN_SUCCESS;
+}
+
+static grn_rc
 grn_vector_inspect(grn_ctx *ctx, grn_obj *buffer, grn_obj *vector)
 {
   int i;
@@ -1068,8 +1089,8 @@ grn_inspect(grn_ctx *ctx, grn_obj *buffer, grn_obj *obj)
     }
     break;
   case GRN_PVECTOR :
-    /* TODO */
-    break;
+    grn_pvector_inspect(ctx, buffer, obj);
+    return buffer;
   case GRN_VECTOR :
     grn_vector_inspect(ctx, buffer, obj);
     return buffer;

  Modified: test/unit/core/test-inspect.c (+1 -1)
===================================================================
--- test/unit/core/test-inspect.c    2014-11-04 23:35:29 +0900 (7aa2285)
+++ test/unit/core/test-inspect.c    2014-11-05 11:19:09 +0900 (7a6a5fb)
@@ -625,7 +625,7 @@ test_pvector_with_records(void)
   inspected = grn_inspect(context, NULL, pvector);
   grn_obj_unlink(context, groonga);
   grn_obj_unlink(context, razil);
-  cut_assert_equal_string("[\"groonga\",\"razil\"]", inspected_string());
+  cut_assert_equal_string("[\"groonga\", \"razil\"]", inspected_string());
 }
 
 void
-------------- next part --------------
HTML����������������������������...
下載 



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