[Groonga-commit] groonga/groonga at ee4d471 [master] mrb: support mruby nil to groonga object conversion

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Oct 8 22:07:38 JST 2013


Kouhei Sutou	2013-10-08 22:07:38 +0900 (Tue, 08 Oct 2013)

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

  Message:
    mrb: support mruby nil to groonga object conversion

  Added files:
    test/command/suite/ruby/eval/nil.expected
    test/command/suite/ruby/eval/nil.test
  Modified files:
    lib/mrb.c

  Modified: lib/mrb.c (+7 -0)
===================================================================
--- lib/mrb.c    2013-10-08 21:50:13 +0900 (231bd1b)
+++ lib/mrb.c    2013-10-08 22:07:38 +0900 (ec69fef)
@@ -154,6 +154,13 @@ grn_mrb_to_grn(grn_ctx *ctx, mrb_value mrb_object, grn_obj *grn_object)
   grn_rc rc = GRN_SUCCESS;
 
   switch (mrb_type(mrb_object)) {
+  case MRB_TT_FALSE :
+    if (mrb_nil_p(mrb_object)) {
+      grn_obj_reinit(ctx, grn_object, GRN_DB_VOID, 0);
+    } else {
+      rc = GRN_INVALID_ARGUMENT;
+    }
+    break;
   case MRB_TT_FIXNUM :
     grn_obj_reinit(ctx, grn_object, GRN_DB_INT32, 0);
     GRN_INT32_SET(ctx, grn_object, mrb_fixnum(mrb_object));

  Added: test/command/suite/ruby/eval/nil.expected (+4 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/ruby/eval/nil.expected    2013-10-08 22:07:38 +0900 (d44eba9)
@@ -0,0 +1,4 @@
+register ruby/eval
+[[0,0.0,0.0],true]
+ruby_eval "nil"
+[[0,0.0,0.0],{"value":null}]

  Added: test/command/suite/ruby/eval/nil.test (+5 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/ruby/eval/nil.test    2013-10-08 22:07:38 +0900 (ba9411b)
@@ -0,0 +1,5 @@
+#@on-error omit
+register ruby/eval
+#@on-error default
+
+ruby_eval "nil"
-------------- next part --------------
HTML����������������������������...
Download 



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