Merge branch 'js/regexec-buf' into maint
[gitweb.git] / trace.c
diff --git a/trace.c b/trace.c
index 4efb256fa294b1a71664e7caaccd81cce9c2a5ac..7508aea028bb642140cabcd02c37cdaf3a21234c 100644 (file)
--- a/trace.c
+++ b/trace.c
@@ -61,10 +61,9 @@ static int get_trace_fd(struct trace_key *key)
        else if (is_absolute_path(trace)) {
                int fd = open(trace, O_WRONLY | O_APPEND | O_CREAT, 0666);
                if (fd == -1) {
-                       warning("could not open '%s' for tracing: %s\n"
-                               "         Defaulting to tracing on stderr...",
+                       warning("could not open '%s' for tracing: %s",
                                trace, strerror(errno));
-                       key->fd = STDERR_FILENO;
+                       trace_disable(key);
                } else {
                        key->fd = fd;
                        key->need_close = 1;
@@ -72,10 +71,9 @@ static int get_trace_fd(struct trace_key *key)
        } else {
                warning("unknown trace value for '%s': %s\n"
                        "         If you want to trace into a file, then please set %s\n"
-                       "         to an absolute pathname (starting with /)\n"
-                       "         Defaulting to tracing on stderr...",
+                       "         to an absolute pathname (starting with /)",
                        key->key, trace, key->key);
-               key->fd = STDERR_FILENO;
+               trace_disable(key);
        }
 
        key->initialized = 1;
@@ -134,6 +132,7 @@ static void trace_write(struct trace_key *key, const void *buf, unsigned len)
                normalize_trace_key(&key);
                warning("unable to write trace for %s: %s",
                        key->key, strerror(errno));
+               trace_disable(key);
        }
 }