Kouhei Sutou
null+****@clear*****
Fri Feb 3 14:36:21 JST 2017
Kouhei Sutou 2017-02-03 14:36:21 +0900 (Fri, 03 Feb 2017) New Revision: e1272b41320e3dd423ab5110d7aa80637f1dcb67 https://github.com/groonga/groonga/commit/e1272b41320e3dd423ab5110d7aa80637f1dcb67 Message: Export convenient macro GRN_TEXT_EQUAL_CSTRING It's a compare function for C string. Modified files: include/groonga/groonga.h lib/proc/proc_select.c Modified: include/groonga/groonga.h (+4 -0) =================================================================== --- include/groonga/groonga.h 2017-02-03 14:17:06 +0900 (0056794) +++ include/groonga/groonga.h 2017-02-03 14:36:21 +0900 (a27fbea) @@ -1302,6 +1302,10 @@ GRN_API void grn_ctx_recv_handler_set(grn_ctx *, #define GRN_TEXT_VALUE(obj) GRN_BULK_HEAD(obj) #define GRN_TEXT_LEN(obj) GRN_BULK_VSIZE(obj) +#define GRN_TEXT_EQUAL_CSTRING(bulk, string)\ + (GRN_TEXT_LEN(bulk) == strlen(string) &&\ + memcmp(GRN_TEXT_VALUE(bulk), string, GRN_TEXT_LEN(bulk)) == 0) + #define GRN_BOOL_INIT(obj,flags) \ GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_BOOL) #define GRN_INT8_INIT(obj,flags) \ Modified: lib/proc/proc_select.c (+3 -7) =================================================================== --- lib/proc/proc_select.c 2017-02-03 14:17:06 +0900 (4e056f5) +++ lib/proc/proc_select.c 2017-02-03 14:36:21 +0900 (aa8b1d0) @@ -44,10 +44,6 @@ string.length = GRN_TEXT_LEN(bulk); \ } \ -#define GRN_BULK_EQUAL_STRING(bulk, string) \ - (GRN_TEXT_LEN(bulk) == strlen(string) && \ - memcmp(GRN_TEXT_VALUE(bulk), string, GRN_TEXT_LEN(bulk)) == 0) - typedef struct { const char *value; size_t length; @@ -558,13 +554,13 @@ grn_columns_collect(grn_ctx *ctx, grn_table_cursor_get_value(ctx, cursor, &value_raw); value = value_raw; - if (GRN_BULK_EQUAL_STRING(value, "initial")) { + if (GRN_TEXT_EQUAL_CSTRING(value, "initial")) { stage = GRN_COLUMN_STAGE_INITIAL; target_columns = &(columns->initial); - } else if (GRN_BULK_EQUAL_STRING(value, "filtered")) { + } else if (GRN_TEXT_EQUAL_CSTRING(value, "filtered")) { stage = GRN_COLUMN_STAGE_FILTERED; target_columns = &(columns->filtered); - } else if (GRN_BULK_EQUAL_STRING(value, "output")) { + } else if (GRN_TEXT_EQUAL_CSTRING(value, "output")) { stage = GRN_COLUMN_STAGE_OUTPUT; target_columns = &(columns->output); } else { -------------- next part -------------- HTML����������������������������...Download