null+****@clear*****
null+****@clear*****
2011年 12月 9日 (金) 13:52:01 JST
Daijiro MORI 2011-12-09 04:52:01 +0000 (Fri, 09 Dec 2011)
New Revision: 253cb421140144d1db7cbfe99671dc03af5f620d
Log:
got rid of needless macro
Modified files:
plugins/tokenizers/mecab.c
Modified: plugins/tokenizers/mecab.c (+11 -19)
===================================================================
--- plugins/tokenizers/mecab.c 2011-12-09 01:44:29 +0000 (ddc8816)
+++ plugins/tokenizers/mecab.c 2011-12-09 04:52:01 +0000 (b84692f)
@@ -32,24 +32,6 @@
static mecab_t *sole_mecab;
static grn_critical_section sole_mecab_lock;
-/*
- This macro is called only once.
- Why don't you put this directly?
- */
-#define SOLE_MECAB_CONFIRM do {\
- if (!sole_mecab) {\
- static char *argv[] = {"", "-Owakati"};\
- CRITICAL_SECTION_ENTER(sole_mecab_lock);\
- if (!sole_mecab) {\
- sole_mecab = mecab_new(2, argv);\
- if (!sole_mecab) {\
- strncpy(mecab_err, mecab_strerror(NULL), sizeof(mecab_err) - 1);\
- }\
- }\
- CRITICAL_SECTION_LEAVE(sole_mecab_lock);\
- }\
-} while(0)
-
typedef struct {
grn_str *nstr;
mecab_t *mecab;
@@ -84,7 +66,17 @@ mecab_init(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
return NULL;
}
mecab_err[sizeof(mecab_err) - 1] = '\0';
- SOLE_MECAB_CONFIRM;
+ if (!sole_mecab) {
+ static char *argv[] = {"", "-Owakati"};
+ CRITICAL_SECTION_ENTER(sole_mecab_lock);
+ if (!sole_mecab) {
+ sole_mecab = mecab_new(2, argv);
+ if (!sole_mecab) {
+ strncpy(mecab_err, mecab_strerror(NULL), sizeof(mecab_err) - 1);
+ }
+ }
+ CRITICAL_SECTION_LEAVE(sole_mecab_lock);
+ }
if (!sole_mecab) {
ERR(GRN_TOKENIZER_ERROR,
"mecab_new failed on grn_mecab_init: %s", mecab_err);