+ if (len > sizeof(buf)-1) exit_cleanup(1);
+
+ buf[len] = 0;
+
+ if (am_daemon) {
+ int priority = LOG_INFO;
+ if (fd == FERROR) priority = LOG_WARNING;
+
+ log_open();
+ if (!io_multiplex_write(fd, buf, strlen(buf))) {
+ syslog(priority, "%s", buf);
+ }
+
+ depth--;
+ return;