Kouhei Sutou
null+****@clear*****
Sun Nov 16 19:27:37 JST 2014
Kouhei Sutou 2014-11-16 19:27:37 +0900 (Sun, 16 Nov 2014) New Revision: fb2e251faea2d27468b3ab8979b6a8eebd805bd4 https://github.com/groonga/groonga/commit/fb2e251faea2d27468b3ab8979b6a8eebd805bd4 Message: plugin: export grn_plugin_proc_get_vars() Modified files: include/groonga/plugin.h lib/expr.c lib/grn_db.h lib/plugin.c Modified: include/groonga/plugin.h (+2 -0) =================================================================== --- include/groonga/plugin.h 2014-11-16 17:05:57 +0900 (2505d00) +++ include/groonga/plugin.h 2014-11-16 19:27:37 +0900 (d0f5fba) @@ -117,6 +117,8 @@ GRN_API void grn_plugin_mutex_unlock(grn_ctx *ctx, grn_plugin_mutex *mutex); GRN_API grn_obj *grn_plugin_proc_alloc(grn_ctx *ctx, grn_user_data *user_data, grn_id domain, grn_obj_flags flags); +GRN_API grn_obj *grn_plugin_proc_get_vars(grn_ctx *ctx, grn_user_data *user_data); + GRN_API grn_obj *grn_plugin_proc_get_var(grn_ctx *ctx, grn_user_data *user_data, const char *name, int name_size); Modified: lib/expr.c (+12 -0) =================================================================== --- lib/expr.c 2014-11-16 17:05:57 +0900 (707ccc6) +++ lib/expr.c 2014-11-16 19:27:37 +0900 (70e4be2) @@ -131,6 +131,18 @@ grn_proc_get_info(grn_ctx *ctx, grn_user_data *user_data, } grn_obj * +grn_proc_get_vars(grn_ctx *ctx, grn_user_data *user_data) +{ + uint32_t n; + grn_proc_ctx *pctx = (grn_proc_ctx *)user_data; + if (pctx->proc) { + return (grn_obj *)grn_expr_get_vars(ctx, (grn_obj *)pctx->proc, &n); + } else { + return NULL; + } +} + +grn_obj * grn_proc_get_var(grn_ctx *ctx, grn_user_data *user_data, const char *name, unsigned int name_size) { grn_proc_ctx *pctx = (grn_proc_ctx *)user_data; Modified: lib/grn_db.h (+3 -0) =================================================================== --- lib/grn_db.h 2014-11-16 17:05:57 +0900 (465cf36) +++ lib/grn_db.h 2014-11-16 19:27:37 +0900 (252ec92) @@ -195,11 +195,14 @@ struct _grn_proc { // grn_obj results[16]; }; +#define GRN_PROC_GET_VARS() (grn_proc_get_vars(ctx, user_data)) #define GRN_PROC_GET_VAR(name) (grn_proc_get_var(ctx, user_data, name, strlen(name))) #define GRN_PROC_GET_VAR_BY_OFFSET(offset) (grn_proc_get_var_by_offset(ctx, user_data, offset)) #define GRN_PROC_GET_OR_ADD_VAR(name) (grn_proc_get_or_add_var(ctx, user_data, name, strlen(name))) #define GRN_PROC_ALLOC(domain, flags) (grn_proc_alloc(ctx, user_data, domain, flags)) +grn_obj *grn_proc_get_vars(grn_ctx *ctx, grn_user_data *user_data); + grn_obj *grn_proc_get_var(grn_ctx *ctx, grn_user_data *user_data, const char *name, unsigned int name_size); Modified: lib/plugin.c (+6 -0) =================================================================== --- lib/plugin.c 2014-11-16 17:05:57 +0900 (475c862) +++ lib/plugin.c 2014-11-16 19:27:37 +0900 (5a7b62c) @@ -651,6 +651,12 @@ grn_plugin_proc_alloc(grn_ctx *ctx, grn_user_data *user_data, } grn_obj * +grn_plugin_proc_get_vars(grn_ctx *ctx, grn_user_data *user_data) +{ + return grn_proc_get_vars(ctx, user_data); +} + +grn_obj * grn_plugin_proc_get_var(grn_ctx *ctx, grn_user_data *user_data, const char *name, int name_size) { -------------- next part -------------- HTML����������������������������... Télécharger