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);