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