Kouhei Sutou
null+****@clear*****
Fri Apr 3 15:14:34 JST 2015
Kouhei Sutou 2015-04-03 15:14:34 +0900 (Fri, 03 Apr 2015) New Revision: e4cfc088aedd27ef81ede29dfeb6904f523872d6 https://github.com/groonga/groonga/commit/e4cfc088aedd27ef81ede29dfeb6904f523872d6 Message: Stop to use GRN_PTR_POP Modified files: lib/proc.c Modified: lib/proc.c (+4 -13) =================================================================== --- lib/proc.c 2015-04-03 15:10:34 +0900 (3fd4b07) +++ lib/proc.c 2015-04-03 15:14:34 +0900 (17a090a) @@ -3209,16 +3209,6 @@ dump_table(grn_ctx *ctx, grn_obj *outbuf, grn_obj *table, pending_index_columns); } -/* can we move this to groonga.h? */ -#define GRN_PTR_POP(obj,value) do {\ - if (GRN_BULK_VSIZE(obj) >= sizeof(grn_obj *)) {\ - GRN_BULK_INCR_LEN((obj), -(sizeof(grn_obj *)));\ - value = *(grn_obj **)(GRN_BULK_CURR(obj));\ - } else {\ - value = NULL;\ - }\ -} while (0) - static void dump_pending_columns(grn_ctx *ctx, grn_obj *outbuf, grn_obj *pending_columns) { @@ -5864,14 +5854,15 @@ func_highlight_html(grn_ctx *ctx, int nargs, grn_obj **args, } if (condition) { + size_t i, n_keywords; grn_obj current_keywords; GRN_PTR_INIT(¤t_keywords, GRN_OBJ_VECTOR, GRN_ID_NIL); grn_expr_get_keywords(ctx, condition, ¤t_keywords); - for (;;) { + n_keywords = GRN_BULK_VSIZE(¤t_keywords) / sizeof(grn_obj *); + for (i = 0; i < n_keywords; i++) { grn_obj *keyword; - GRN_PTR_POP(¤t_keywords, keyword); - if (!keyword) { break; } + keyword = GRN_PTR_VALUE_AT(¤t_keywords, i); grn_table_add(ctx, keywords, GRN_TEXT_VALUE(keyword), GRN_TEXT_LEN(keyword), -------------- next part -------------- HTML����������������������������... Download