null+****@clear*****
null+****@clear*****
2012年 3月 26日 (月) 19:57:06 JST
Susumu Yata 2012-03-26 19:57:06 +0900 (Mon, 26 Mar 2012)
New Revision: 5ea4428324f9620064dc2920ba4033836273280e
Log:
Use the do/while trick in GRN_EXPR_CREATE_FOR_QUERY().
Modified files:
include/groonga.h
Modified: include/groonga.h (+3 -2)
===================================================================
--- include/groonga.h 2012-03-26 16:25:45 +0900 (59eeea3)
+++ include/groonga.h 2012-03-26 19:57:06 +0900 (6e95739)
@@ -2488,13 +2488,14 @@ GRN_API grn_obj *grn_table_select(grn_ctx *ctx, grn_obj *table, grn_obj *expr,
GRN_API int grn_obj_columns(grn_ctx *ctx, grn_obj *table,
const char *str, unsigned int str_size, grn_obj *res);
-#define GRN_EXPR_CREATE_FOR_QUERY(ctx,table,expr,var) \
+#define GRN_EXPR_CREATE_FOR_QUERY(ctx,table,expr,var) do {\
if (((expr) = grn_expr_create((ctx), NULL, 0)) &&\
((var) = grn_expr_add_var((ctx), (expr), NULL, 0))) {\
GRN_RECORD_INIT((var), 0, grn_obj_id((ctx), (table)));\
} else {\
(var) = NULL;\
- }
+ }\
+} while (0)
typedef unsigned int grn_expr_flags;