[Groonga-commit] groonga/groonga at 17716f3 [master] mrb: add Column.parse_flags

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Mar 16 11:21:52 JST 2017


Kouhei Sutou	2017-03-16 11:21:52 +0900 (Thu, 16 Mar 2017)

  New Revision: 17716f392aee62d2c3eb7804a241a1020c4c98e7
  https://github.com/groonga/groonga/commit/17716f392aee62d2c3eb7804a241a1020c4c98e7

  Message:
    mrb: add Column.parse_flags

  Modified files:
    lib/mrb/mrb_column.c

  Modified: lib/mrb/mrb_column.c (+23 -1)
===================================================================
--- lib/mrb/mrb_column.c    2017-03-16 10:23:15 +0900 (ed21ff7)
+++ lib/mrb/mrb_column.c    2017-03-16 11:21:52 +0900 (9679aac)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2 -*- */
 /*
-  Copyright(C) 2013-2014 Brazil
+  Copyright(C) 2013-2017 Brazil
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -17,6 +17,7 @@
 */
 
 #include "../grn_ctx_impl.h"
+#include "../grn_proc.h"
 
 #ifdef GRN_WITH_MRUBY
 #include <mruby.h>
@@ -29,6 +30,24 @@
 #include "mrb_converter.h"
 
 static mrb_value
+mrb_grn_column_class_parse_flags(mrb_state *mrb, mrb_value self)
+{
+  grn_ctx *ctx = (grn_ctx *)mrb->ud;
+  char *error_message_tag;
+  char *flags_text;
+  mrb_int flags_text_size;
+  grn_column_flags flags;
+
+  mrb_get_args(mrb, "Ss", &error_message_tag, &flags_text, &flags_text_size);
+
+  flags = grn_proc_column_parse_flags(ctx,
+                                      error_message_tag,
+                                      flags_text,
+                                      flags_text + flags_text_size);
+  return mrb_fixnum_value(flags);
+}
+
+static mrb_value
 mrb_grn_column_array_reference(mrb_state *mrb, mrb_value self)
 {
   grn_ctx *ctx = (grn_ctx *)mrb->ud;
@@ -117,6 +136,9 @@ grn_mrb_column_init(grn_ctx *ctx)
   klass = mrb_define_class_under(mrb, module, "Column", object_class);
   MRB_SET_INSTANCE_TT(klass, MRB_TT_DATA);
 
+  mrb_define_class_method(mrb, klass, "parse_flags",
+                          mrb_grn_column_class_parse_flags, MRB_ARGS_REQ(2));
+
   mrb_define_method(mrb, klass, "[]",
                     mrb_grn_column_array_reference, MRB_ARGS_REQ(1));
 
-------------- next part --------------
HTML����������������������������...
Download 



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