null+****@clear*****
null+****@clear*****
2012年 5月 17日 (木) 22:52:56 JST
Kouhei Sutou 2012-05-17 22:52:56 +0900 (Thu, 17 May 2012) New Revision: 2a9b01afa07b26af983ea43a6f0ef1d9874034c4 Log: suggest: don't use access() Modified files: src/suggest/groonga_suggest_create_dataset.c Modified: src/suggest/groonga_suggest_create_dataset.c (+8 -9) =================================================================== --- src/suggest/groonga_suggest_create_dataset.c 2012-05-17 22:49:11 +0900 (31606c5) +++ src/suggest/groonga_suggest_create_dataset.c 2012-05-17 22:52:56 +0900 (b8b88ba) @@ -18,7 +18,6 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <unistd.h> #include <groonga.h> static void @@ -94,16 +93,16 @@ main(int argc, char **argv) ctx = &ctx_; grn_ctx_init(ctx, 0); - if (access(db_path, F_OK) == 0) { - db = grn_db_open(ctx, db_path); - if (!db) { + db = grn_db_open(ctx, db_path); + if (!db) { + if (ctx->rc == GRN_NO_SUCH_FILE_OR_DIRECTORY) { + db = grn_db_create(ctx, db_path, NULL); + if (!db) { + fprintf(stderr, "DB create failed (%s): %s\n", db_path, ctx->errbuf); + } + } else { fprintf(stderr, "DB open failed (%s): %s\n", db_path, ctx->errbuf); } - } else { - db = grn_db_create(ctx, db_path, NULL); - if (!db) { - fprintf(stderr, "DB create failed (%s): %s\n", db_path, ctx->errbuf); - } } if (db) {