From 69739738f9f7df06d4ea25a8987de67d158e4e72 Mon Sep 17 00:00:00 2001 From: Karl Heyes Date: Sat, 6 Aug 2005 13:10:30 +0000 Subject: [PATCH] force a large filesize limit on log files before cycling svn path=/icecast/trunk/log/; revision=9706 --- log/log.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/log/log.c b/log/log.c index edc23ec..6b4f147 100644 --- a/log/log.c +++ b/log/log.c @@ -54,8 +54,8 @@ typedef struct log_tag char *filename; FILE *logfile; - unsigned size; - unsigned trigger_level; + off_t size; + off_t trigger_level; char *buffer; } log_t; @@ -83,11 +83,15 @@ static int _log_open (int id) if (loglist [id] . logfile) { - char new_name [255]; + char new_name [4096]; fclose (loglist [id] . logfile); loglist [id] . logfile = NULL; /* simple rename, but could use time providing locking were used */ snprintf (new_name, sizeof(new_name), "%s.old", loglist [id] . filename); +#ifdef _WIN32 + if (stat (new_name, &st) == 0) + remove (new_name); +#endif rename (loglist [id] . filename, new_name); } loglist [id] . logfile = fopen (loglist [id] . filename, "a"); @@ -115,7 +119,7 @@ void log_initialize() loglist[i].in_use = 0; loglist[i].level = 2; loglist[i].size = 0; - loglist[i].trigger_level = 0; + loglist[i].trigger_level = 1000000000; loglist[i].filename = NULL; loglist[i].logfile = NULL; loglist[i].buffer = NULL;