[Groonga-commit] groonga/groonga at e4cfc08 [master] Stop to use GRN_PTR_POP

Back to archive index

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(&current_keywords, GRN_OBJ_VECTOR, GRN_ID_NIL);
       grn_expr_get_keywords(ctx, condition, &current_keywords);
 
-      for (;;) {
+      n_keywords = GRN_BULK_VSIZE(&current_keywords) / sizeof(grn_obj *);
+      for (i = 0; i < n_keywords; i++) {
         grn_obj *keyword;
-        GRN_PTR_POP(&current_keywords, keyword);
-        if (!keyword) { break; }
+        keyword = GRN_PTR_VALUE_AT(&current_keywords, i);
         grn_table_add(ctx, keywords,
                       GRN_TEXT_VALUE(keyword),
                       GRN_TEXT_LEN(keyword),
-------------- next part --------------
HTML����������������������������...
Download 



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