[Groonga-commit] groonga/groonga at a15474e [master] Add a constant for file create mode

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Dec 29 13:15:57 JST 2014


Kouhei Sutou	2014-12-29 13:15:57 +0900 (Mon, 29 Dec 2014)

  New Revision: a15474e796dc2d5545e312a2e2c13e71a8fa4506
  https://github.com/groonga/groonga/commit/a15474e796dc2d5545e312a2e2c13e71a8fa4506

  Message:
    Add a constant for file create mode

  Modified files:
    lib/dat/file-impl.cpp
    lib/grn_io.h
    lib/io.c

  Modified: lib/dat/file-impl.cpp (+9 -3)
===================================================================
--- lib/dat/file-impl.cpp    2014-12-29 13:05:06 +0900 (6382ae9)
+++ lib/dat/file-impl.cpp    2014-12-29 13:15:57 +0900 (8592d79)
@@ -36,6 +36,12 @@
 #include <algorithm>
 #include <limits>
 
+#ifdef WIN32
+# define GRN_IO_FILE_CREATE_MODE (GENERIC_READ | GENERIC_WRITE)
+#else /* WIN32 */
+# define GRN_IO_FILE_CREATE_MODE 0666
+#endif /* WIN32 */
+
 namespace grn {
 namespace dat {
 
@@ -119,7 +125,7 @@ void FileImpl::swap(FileImpl *rhs) {
 
 void FileImpl::create_(const char *path, UInt64 size) {
   if ((path != NULL) && (path[0] != '\0')) {
-    file_ = ::CreateFileA(path, GENERIC_READ | GENERIC_WRITE,
+    file_ = ::CreateFileA(path, GRN_IO_FILE_CREATE_MODE,
                           FILE_SHARE_READ | FILE_SHARE_WRITE,
                           NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
     GRN_DAT_THROW_IF(IO_ERROR, file_ == INVALID_HANDLE_VALUE);
@@ -162,7 +168,7 @@ void FileImpl::open_(const char *path) {
   GRN_DAT_THROW_IF(IO_ERROR,
       static_cast<UInt64>(st.st_size) > std::numeric_limits< ::size_t>::max());
 
-  file_ = ::CreateFileA(path, GENERIC_READ | GENERIC_WRITE,
+  file_ = ::CreateFileA(path, GRN_IO_FILE_CREATE_MODE,
                         FILE_SHARE_READ | FILE_SHARE_WRITE,
                         NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
   GRN_DAT_THROW_IF(IO_ERROR, file_ == NULL);
@@ -192,7 +198,7 @@ void FileImpl::create_(const char *path, UInt64 size) {
       size > static_cast<UInt64>(std::numeric_limits< ::off_t>::max()));
 
   if ((path != NULL) && (path[0] != '\0')) {
-    fd_ = ::open(path, O_RDWR | O_CREAT | O_TRUNC, 0666);
+    fd_ = ::open(path, O_RDWR | O_CREAT | O_TRUNC, GRN_IO_FILE_CREATE_MODE);
     GRN_DAT_THROW_IF(IO_ERROR, fd_ == -1);
 
     const ::off_t file_size = static_cast< ::off_t>(size);

  Modified: lib/grn_io.h (+6 -0)
===================================================================
--- lib/grn_io.h    2014-12-29 13:05:06 +0900 (a85016f)
+++ lib/grn_io.h    2014-12-29 13:15:57 +0900 (5565bb0)
@@ -38,6 +38,12 @@ extern "C" {
 # define GRN_IO_UPDATE     grn_io_rdwr
 #endif /* WIN32 */
 
+#ifdef WIN32
+# define GRN_IO_FILE_CREATE_MODE (GENERIC_READ | GENERIC_WRITE)
+#else /* WIN32 */
+# define GRN_IO_FILE_CREATE_MODE 0666
+#endif /* WIN32 */
+
 typedef enum {
   grn_io_rdonly,
   grn_io_wronly,

  Modified: lib/io.c (+7 -7)
===================================================================
--- lib/io.c    2014-12-29 13:05:06 +0900 (565f5c1)
+++ lib/io.c    2014-12-29 13:15:57 +0900 (de890ea)
@@ -1357,7 +1357,7 @@ grn_open(grn_ctx *ctx, fileinfo *fi, const char *path, int flags, size_t maxsize
     } else {
       dwCreationDisposition = OPEN_ALWAYS;
     }
-    fi->fh = CreateFile(path, GENERIC_READ | GENERIC_WRITE,
+    fi->fh = CreateFile(path, GRN_IO_FILE_CREATE_MODE,
                         FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                         dwCreationDisposition, FILE_ATTRIBUTE_NORMAL, 0);
     if (fi->fh == INVALID_HANDLE_VALUE) {
@@ -1368,7 +1368,7 @@ grn_open(grn_ctx *ctx, fileinfo *fi, const char *path, int flags, size_t maxsize
   }
   if ((flags & O_TRUNC)) {
     CloseHandle(fi->fh);
-    fi->fh = CreateFile(path, GENERIC_READ | GENERIC_WRITE,
+    fi->fh = CreateFile(path, GRN_IO_FILE_CREATE_MODE,
                         FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                         TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     if (fi->fh == INVALID_HANDLE_VALUE) {
@@ -1378,7 +1378,7 @@ grn_open(grn_ctx *ctx, fileinfo *fi, const char *path, int flags, size_t maxsize
     goto exit;
   }
   /* O_RDWR only */
-  fi->fh = CreateFile(path, GENERIC_READ | GENERIC_WRITE,
+  fi->fh = CreateFile(path, GRN_IO_FILE_CREATE_MODE,
                       FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                       OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
   if (fi->fh == INVALID_HANDLE_VALUE) {
@@ -1471,7 +1471,7 @@ grn_open(grn_ctx *ctx, fileinfo *fi, const char *path, int flags, size_t maxsize
     } else {
       dwCreationDisposition = OPEN_ALWAYS;
     }
-    fi->fh = CreateFile(path, GENERIC_READ | GENERIC_WRITE,
+    fi->fh = CreateFile(path, GRN_IO_FILE_CREATE_MODE,
                         FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                         dwCreationDisposition, FILE_ATTRIBUTE_NORMAL, 0);
     if (fi->fh == INVALID_HANDLE_VALUE) {
@@ -1483,7 +1483,7 @@ grn_open(grn_ctx *ctx, fileinfo *fi, const char *path, int flags, size_t maxsize
   if ((flags & O_TRUNC)) {
     CloseHandle(fi->fh);
     /* unable to assign OPEN_ALWAYS and TRUNCATE_EXISTING at once */
-    fi->fh = CreateFile(path, GENERIC_READ | GENERIC_WRITE,
+    fi->fh = CreateFile(path, GRN_IO_FILE_CREATE_MODE,
                         FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                         TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     if (fi->fh == INVALID_HANDLE_VALUE) {
@@ -1493,7 +1493,7 @@ grn_open(grn_ctx *ctx, fileinfo *fi, const char *path, int flags, size_t maxsize
     goto exit;
   }
   /* O_RDWR only */
-  fi->fh = CreateFile(path, GENERIC_READ | GENERIC_WRITE,
+  fi->fh = CreateFile(path, GRN_IO_FILE_CREATE_MODE,
                       FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                       OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
   if (fi->fh == INVALID_HANDLE_VALUE) {
@@ -1666,7 +1666,7 @@ inline static grn_rc
 grn_open(grn_ctx *ctx, fileinfo *fi, const char *path, int flags, size_t maxsize)
 {
   struct stat st;
-  if ((fi->fd = GRN_OPEN(path, flags, 0666)) == -1) {
+  if ((fi->fd = GRN_OPEN(path, flags, GRN_IO_FILE_CREATE_MODE)) == -1) {
     SERR(path);
     return ctx->rc;
   }
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index