diff options
-rw-r--r-- | jim-aio.c | 8 | ||||
-rw-r--r-- | jim-interactive.c | 5 | ||||
-rw-r--r-- | jim-win32compat.h | 4 |
3 files changed, 10 insertions, 7 deletions
@@ -1865,14 +1865,8 @@ int Jim_MakeTempFile(Jim_Interp *interp, const char *template) filenameObj = Jim_NewStringObj(interp, template, -1); } -#if defined(S_IRWXG) && defined(S_IRWXO) - mask = umask(S_IXUSR | S_IRWXG | S_IRWXO); -#else - /* MinGW does not have group/owner permissions */ - mask = umask(S_IXUSR); -#endif - /* Update the template name directly with the filename */ + mask = umask(S_IXUSR | S_IRWXG | S_IRWXO); fd = mkstemp(filenameObj->bytes); umask(mask); if (fd < 0) { diff --git a/jim-interactive.c b/jim-interactive.c index 78f5470..1d16ce0 100644 --- a/jim-interactive.c +++ b/jim-interactive.c @@ -7,6 +7,7 @@ #ifdef USE_LINENOISE #ifdef HAVE_UNISTD_H #include <unistd.h> + #include <sys/stat.h> #endif #include "linenoise.h" #else @@ -56,7 +57,11 @@ void Jim_HistoryAdd(const char *line) void Jim_HistorySave(const char *filename) { #ifdef USE_LINENOISE + mode_t mask; + /* Just u=rw, but note that this is only effective for newly created files */ + mask = umask(S_IXUSR | S_IRWXG | S_IRWXO); linenoiseHistorySave(filename); + mask = umask(mask); #endif } diff --git a/jim-win32compat.h b/jim-win32compat.h index edd29c3..2ef8d85 100644 --- a/jim-win32compat.h +++ b/jim-win32compat.h @@ -21,6 +21,10 @@ char *dlerror(void); #define JIM_SPRINTF_DOUBLE_NEEDS_FIX #endif +/* MinGW does not have group/owner permissions */ +#define S_IRWXG 0 +#define S_IRWXO 0 + #ifdef _MSC_VER /* These are msvc vs gcc */ |