]> arthur.barton.de Git - netatalk.git/commitdiff
logger don't generate the log string if there's nowhere to write it
authordidg <didg>
Mon, 19 Oct 2009 10:29:58 +0000 (10:29 +0000)
committerdidg <didg>
Mon, 19 Oct 2009 10:29:58 +0000 (10:29 +0000)
libatalk/util/logger.c

index 132662b5b0eda56fa25ca675e6d6857193565398..73bb453c909bcf82cbfc62d761714a5a7d9ed026 100644 (file)
@@ -377,8 +377,21 @@ void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
 
     if (inlog)
         return;
-    inlog = 1;
 
+    /* Check if requested logtype is setup */
+    if (file_configs[logtype].set)
+        /* Yes */
+        fd = file_configs[logtype].fd;
+    else
+        /* No: use default */
+        fd = file_configs[logtype_default].fd;
+
+    if (fd < 0) {
+        /* no where to send the output, give up */
+        return;
+    }
+
+    inlog = 1;
     /* Initialise the Messages */
     va_start(args, message);
     len = vsnprintf(temp_buffer, MAXLOGSIZE - 1, message, args);
@@ -399,22 +412,13 @@ void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
                              file_configs[logtype_default].display_options,
                              loglevel, logtype);
 
-    /* Check if requested logtype is setup */
-    if (file_configs[logtype].set)
-        /* Yes */
-        fd = file_configs[logtype].fd;
-    else
-        /* No: use default */
-        fd = file_configs[logtype_default].fd;
 
     /* If default wasnt setup its fd is -1 */
-    if (fd >= 0) {
-        iov[0].iov_base = log_details_buffer;
-        iov[0].iov_len = strlen(log_details_buffer);
-        iov[1].iov_base = temp_buffer;
-        iov[1].iov_len = strlen(temp_buffer);
-        writev( fd,  iov, 2);
-    }
+    iov[0].iov_base = log_details_buffer;
+    iov[0].iov_len = strlen(log_details_buffer);
+    iov[1].iov_base = temp_buffer;
+    iov[1].iov_len = strlen(temp_buffer);
+    writev( fd,  iov, 2);
 
     inlog = 0;
 }