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����������������������������... 다운로드