aboutsummaryrefslogtreecommitdiffstats
path: root/src/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/log.c')
-rw-r--r--src/log.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/log.c b/src/log.c
index 979489a..dc15ed9 100644
--- a/src/log.c
+++ b/src/log.c
@@ -10,6 +10,9 @@ static char rcsid[] = "$Id$";
/*
* $Log$
+ * Revision 1.7 2008/03/03 06:04:18 james
+ * *** empty log message ***
+ *
* Revision 1.6 2008/03/02 10:37:56 james
* *** empty log message ***
*
@@ -35,7 +38,9 @@ static char rcsid[] = "$Id$";
typedef struct {
LOG_SIGNATURE;
int do_close;
+ int rotate;
FILE *fp;
+ char *filename;
} File_Log;
static void
@@ -66,6 +71,9 @@ flog_log (Log * _l, char *buf)
fputs (buf, l->fp);
fputc ('\n', l->fp);
fflush (l->fp);
+
+ if (l->rotate)
+ rotate_check(l->filename);
}
@@ -77,11 +85,13 @@ flog_close (Log * _l)
File_Log *l = (File_Log *) _l;
if (l->fp && l->do_close)
fclose (l->fp);
+ if (l->filename)
+ free(l->filename);
free (l);
}
Log *
-file_log_new (char *fn)
+file_log_new (char *fn,int rotate)
{
File_Log *l;
FILE *f;
@@ -102,6 +112,8 @@ file_log_new (char *fn)
l->close = flog_close;
l->fp = f;
l->do_close = dc;
+ l->rotate=rotate;
+ l->filename=strdup(fn);
fput_cp (f, 0xffef);