Mercurial > hg > mlmmj
changeset 428:09082b117b1a
Lets only rotate log if it exists
author | mmj |
---|---|
date | Tue, 18 Jan 2005 18:39:14 +1100 |
parents | df8e1e2f0ff6 |
children | 2e0ef09de41f |
files | src/log_oper.c |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/log_oper.c Tue Jan 18 10:47:16 2005 +1100 +++ b/src/log_oper.c Tue Jan 18 18:39:14 2005 +1100 @@ -42,7 +42,7 @@ int log_oper(const char *prefix, const char *basename, const char *fmt, ...) { - int fd; + int fd, statres; char ct[26], *logstr, *logfilename, *tmp, log_msg[256]; struct stat st; time_t t; @@ -50,13 +50,14 @@ size_t i; logfilename = concatstr(2, prefix, basename); - if(lstat(logfilename, &st) < 0 && errno != ENOENT) { + statres = lstat(logfilename, &st); + if(statres < 0 && errno != ENOENT) { log_error(LOG_ARGS, "Could not stat logfile %s", logfilename); myfree(logfilename); return -1; } - if(st.st_size > (off_t)OPLOGSIZE) { + if(statres >= 0 && st.st_size > (off_t)OPLOGSIZE) { tmp = concatstr(2, logfilename, ".rotated"); if(rename(logfilename, tmp) < 0) { log_error(LOG_ARGS, "Could not rename %s,%s",