diff --git a/src/os.cc b/src/os.cc index 934629d7..4d0d0a71 100644 --- a/src/os.cc +++ b/src/os.cc @@ -32,10 +32,15 @@ # ifndef S_IRUSR # define S_IRUSR _S_IREAD # endif - # ifndef S_IWUSR # define S_IWUSR _S_IWRITE # endif +# ifndef S_IRGRP +# define S_IRGRP 0 +# endif +# ifndef S_IROTH +# define S_IROTH 0 +# endif # ifdef __MINGW32__ # define _SH_DENYNO 0x40 @@ -213,7 +218,7 @@ int buffered_file::fileno() const { #if FMT_USE_FCNTL file::file(cstring_view path, int oflag) { - int mode = S_IRUSR | S_IWUSR; + int mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; # if defined(_WIN32) && !defined(__MINGW32__) fd_ = -1; FMT_POSIX_CALL(sopen_s(&fd_, path.c_str(), oflag, _SH_DENYNO, mode));