[Groonga-commit] groonga/groonga [master] suggest: don't use access()

Back to archive index

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) {




Groonga-commit メーリングリストの案内
Back to archive index