Kouhei Sutou
null+****@clear*****
Wed Nov 7 14:49:09 JST 2012
Kouhei Sutou 2012-11-07 14:49:09 +0900 (Wed, 07 Nov 2012) New Revision: 1f73c5e0a9424f3d533b683f9bb8ff10945fc0ab https://github.com/groonga/groonga/commit/1f73c5e0a9424f3d533b683f9bb8ff10945fc0ab Log: Add grn_proc_get_or_add_var() Modified files: lib/db.h lib/expr.c Modified: lib/db.h (+3 -0) =================================================================== --- lib/db.h 2012-11-07 14:48:40 +0900 (bb04df3) +++ lib/db.h 2012-11-07 14:49:09 +0900 (2848039) @@ -191,6 +191,7 @@ struct _grn_proc { #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_var(grn_ctx *ctx, grn_user_data *user_data, @@ -198,6 +199,8 @@ grn_obj *grn_proc_get_var(grn_ctx *ctx, grn_user_data *user_data, GRN_API grn_obj *grn_proc_get_var_by_offset(grn_ctx *ctx, grn_user_data *user_data, unsigned int offset); + GRN_API grn_obj *grn_proc_get_or_add_var(grn_ctx *ctx, grn_user_data *user_data, + const char *name, unsigned int name_size); GRN_API grn_obj *grn_proc_alloc(grn_ctx *ctx, grn_user_data *user_data, grn_id domain, grn_obj_flags flags); Modified: lib/expr.c (+8 -0) =================================================================== --- lib/expr.c 2012-11-07 14:48:40 +0900 (11463e2) +++ lib/expr.c 2012-11-07 14:49:09 +0900 (a071ebd) @@ -141,6 +141,14 @@ grn_proc_get_var_by_offset(grn_ctx *ctx, grn_user_data *user_data, unsigned int } grn_obj * +grn_proc_get_or_add_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; + return pctx->proc ? grn_expr_get_or_add_var(ctx, (grn_obj *)pctx->proc, name, name_size) : NULL; +} + +grn_obj * grn_proc_alloc(grn_ctx *ctx, grn_user_data *user_data, grn_id domain, grn_obj_flags flags) { grn_proc_ctx *pctx = (grn_proc_ctx *)user_data; -------------- next part -------------- HTML����������������������������...다운로드