aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/ChangeLog4
-rw-r--r--util/logger.c22
2 files changed, 16 insertions, 10 deletions
diff --git a/util/ChangeLog b/util/ChangeLog
index 68964a664..956c2085d 100644
--- a/util/ChangeLog
+++ b/util/ChangeLog
@@ -1,3 +1,7 @@
+Fri Aug 18 14:27:14 CEST 2000 Werner Koch <[email protected]>
+
+ * logger.c (log_set_file): Allow to set the file by name.
+
Fri Jul 28 18:19:11 CEST 2000 Werner Koch <[email protected]>
* iobuf.c: Use setmode() at several places to set stdin and stdout
diff --git a/util/logger.c b/util/logger.c
index bb0b89e8b..ccf049f0c 100644
--- a/util/logger.c
+++ b/util/logger.c
@@ -41,17 +41,19 @@ static FILE *logfp;
void
log_set_logfile( const char *name, int fd )
{
- if( name )
- BUG();
-
if( logfp && logfp != stderr && logfp != stdout )
- fclose( logfp );
- if( fd == 1 )
- logfp = stdout;
- else if( fd == 2 )
- logfp = stderr;
- else
- logfp = fdopen( fd, "a" );
+ fclose( logfp );
+ if( name ) {
+ logfp = fopen ( name, "a" );
+ }
+ else {
+ if( fd == 1 )
+ logfp = stdout;
+ else if( fd == 2 )
+ logfp = stderr;
+ else
+ logfp = fdopen( fd, "a" );
+ }
if( !logfp ) {
logfp = stderr;
log_fatal("can't open fd %d for logging: %s\n", fd, strerror(errno));