[Groonga-commit] groonga/groonga at e948224 [master] Add grn_plugin_proc_get_var_string()

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Feb 25 23:43:19 JST 2016


Kouhei Sutou	2016-02-25 23:43:19 +0900 (Thu, 25 Feb 2016)

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

  Message:
    Add grn_plugin_proc_get_var_string()

  Modified files:
    include/groonga/plugin.h
    lib/grn_proc.h
    lib/plugin.c
    lib/proc.c

  Modified: include/groonga/plugin.h (+5 -0)
===================================================================
--- include/groonga/plugin.h    2016-02-25 23:35:11 +0900 (f855cd0)
+++ include/groonga/plugin.h    2016-02-25 23:43:19 +0900 (d2e5ffc)
@@ -155,6 +155,11 @@ GRN_API int32_t grn_plugin_proc_get_var_int32(grn_ctx *ctx,
                                               const char *name,
                                               int name_size,
                                               grn_int32 default_value);
+GRN_API const char *grn_plugin_proc_get_var_string(grn_ctx *ctx,
+                                                   grn_user_data *user_data,
+                                                   const char *name,
+                                                   int name_size,
+                                                   uint32_t *size);
 
 GRN_API grn_obj *grn_plugin_proc_get_var_by_offset(grn_ctx *ctx,
                                                    grn_user_data *user_data,

  Modified: lib/grn_proc.h (+3 -0)
===================================================================
--- lib/grn_proc.h    2016-02-25 23:35:11 +0900 (885bc65)
+++ lib/grn_proc.h    2016-02-25 23:43:19 +0900 (e8f78e4)
@@ -60,6 +60,9 @@ grn_bool grn_proc_option_value_bool(grn_ctx *ctx,
 int32_t grn_proc_option_value_int32(grn_ctx *ctx,
                                     grn_obj *option,
                                     int32_t default_value);
+const char *grn_proc_option_value_string(grn_ctx *ctx,
+                                         grn_obj *option,
+                                         size_t *size);
 
 void grn_proc_output_object_name(grn_ctx *ctx, grn_obj *obj);
 void grn_proc_output_object_id_name(grn_ctx *ctx, grn_id id);

  Modified: lib/plugin.c (+13 -0)
===================================================================
--- lib/plugin.c    2016-02-25 23:35:11 +0900 (c578dc6)
+++ lib/plugin.c    2016-02-25 23:43:19 +0900 (84ba319)
@@ -1163,6 +1163,19 @@ grn_plugin_proc_get_var_int32(grn_ctx *ctx,
   return grn_proc_option_value_int32(ctx, var, default_value);
 }
 
+const char *
+grn_plugin_proc_get_var_string(grn_ctx *ctx,
+                               grn_user_data *user_data,
+                               const char *name,
+                               int name_size,
+                               size_t *size)
+{
+  grn_obj *var;
+
+  var = grn_plugin_proc_get_var(ctx, user_data, name, name_size);
+  return grn_proc_option_value_string(ctx, var, size);
+}
+
 grn_obj *
 grn_plugin_proc_get_var_by_offset(grn_ctx *ctx, grn_user_data *user_data,
                                   unsigned int offset)

  Modified: lib/proc.c (+22 -0)
===================================================================
--- lib/proc.c    2016-02-25 23:35:11 +0900 (58c4e38)
+++ lib/proc.c    2016-02-25 23:43:19 +0900 (8fa27f2)
@@ -2770,6 +2770,28 @@ grn_proc_option_value_int32(grn_ctx *ctx,
   }
 }
 
+const char *
+grn_proc_option_value_string(grn_ctx *ctx,
+                             grn_obj *option,
+                             size_t *size)
+{
+  const char *value;
+  size_t value_length;
+
+  value = GRN_TEXT_VALUE(option);
+  value_length = GRN_TEXT_LEN(option);
+
+  if (size) {
+    *size = value_length;
+  }
+
+  if (value_length == 0) {
+    return NULL;
+  } else {
+    return value;
+  }
+}
+
 static grn_obj *
 proc_dump(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
 {
-------------- next part --------------
HTML����������������������������...
다운로드 



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