X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/958f373550a93532a2df9c7f5242befb29f3a6e8..f7632fc60d69c8dabed600ede87f0b91319a3b7f:/log.c diff --git a/log.c b/log.c index 30aca47e..732a96b7 100644 --- a/log.c +++ b/log.c @@ -26,33 +26,11 @@ static FILE *logfile; -/**************************************************************************** - return the date and time as a string -****************************************************************************/ -static char *timestring(void ) -{ - static char TimeBuf[200]; - time_t t = time(NULL); - struct tm *tm = localtime(&t); - -#ifdef HAVE_STRFTIME - strftime(TimeBuf,sizeof(TimeBuf)-1,"%Y/%m/%d %T",tm); -#else - strlcpy(TimeBuf, asctime(tm), sizeof(TimeBuf)-1); -#endif - - if (TimeBuf[strlen(TimeBuf)-1] == '\n') { - TimeBuf[strlen(TimeBuf)-1] = 0; - } - - return(TimeBuf); -} - static void logit(int priority, char *buf) { if (logfile) { fprintf(logfile,"%s [%d] %s", - timestring(), (int)getpid(), buf); + timestring(time(NULL)), (int)getpid(), buf); fflush(logfile); } else { syslog(priority, "%s", buf); @@ -78,7 +56,10 @@ void log_open(void) /* optionally use a log file instead of syslog */ logf = lp_log_file(); if (logf && *logf) { + extern int orig_umask; + int old_umask = umask(022 | orig_umask); logfile = fopen(logf, "a"); + umask(old_umask); return; }