From 021e95b09ff8f07749bc45d61f8d7ca24a623263 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Wed, 30 May 2012 15:01:21 +0000 Subject: [PATCH] Do not use stderr for log file and don't call log_close when not needed. --- log.c | 7 +++++-- tmux.c | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/log.c b/log.c index dbae1972..2f1400cb 100644 --- a/log.c +++ b/log.c @@ -28,7 +28,7 @@ #include "tmux.h" /* Log file, if needed. */ -FILE *log_file = stderr; +FILE *log_file; /* Debug level. */ int log_level = 0; @@ -63,7 +63,7 @@ log_open(int level, const char *path) void log_close(void) { - if (log_file != stderr) + if (log_file != NULL) fclose(log_file); event_set_log_callback(NULL); @@ -75,6 +75,9 @@ log_vwrite(const char *msg, va_list ap) { char *fmt; + if (log_file == NULL) + return; + if (asprintf(&fmt, "%s\n", msg) == -1) exit(1); if (vfprintf(log_file, fmt, ap) == -1) diff --git a/tmux.c b/tmux.c index 468d37f7..ad632be0 100644 --- a/tmux.c +++ b/tmux.c @@ -70,7 +70,6 @@ logfile(const char *name) { char *path; - log_close(); if (debug_level > 0) { xasprintf(&path, "tmux-%s-%ld.log", name, (long) getpid()); log_open(debug_level, path);