diff options
author | gdt <gdt> | 2003-12-22 20:15:53 +0000 |
---|---|---|
committer | gdt <gdt> | 2003-12-22 20:15:53 +0000 |
commit | aa593d5e2638566ead1e69381e60639550991ff2 (patch) | |
tree | c865f642c1029fa47b8fc6cc86302468b9b2aef4 /lib/log.c | |
parent | 47ce02a8f12134a6ba515fbf1d2b9276e39d4c06 (diff) |
2003-12-22 Christian Hammers <ch@lathspell.de>
* configure.ac (and everywhere a regular file is opened for
writing): use file permissions from configure rather than
compiled-in umask.
Diffstat (limited to 'lib/log.c')
-rw-r--r-- | lib/log.c | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -365,6 +365,7 @@ int zlog_set_file (struct zlog *zl, int flags, char *filename) { FILE *fp; + mode_t oldumask; /* There is opend file. */ zlog_reset_file (zl); @@ -374,9 +375,14 @@ zlog_set_file (struct zlog *zl, int flags, char *filename) zl = zlog_default; /* Open file. */ + oldumask = umask (0777 & ~LOGFILE_MASK); fp = fopen (filename, "a"); if (fp == NULL) - return 0; + { + umask(oldumask); + return 0; + } + umask(oldumask); /* Set flags. */ zl->filename = strdup (filename); @@ -421,9 +427,16 @@ zlog_rotate (struct zlog *zl) if (zl->filename) { + mode_t oldumask; + + oldumask = umask (0777 & ~LOGFILE_MASK); fp = fopen (zl->filename, "a"); if (fp == NULL) - return -1; + { + umask(oldumask); + return -1; + } + umask(oldumask); zl->fp = fp; } |