X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/e1d04f48a45c9f8e8ff75610003048f8ead73219..a5ffa9b475a426bc73366db01f7cc92a3811bc3a:/src/src/debug.c diff --git a/src/src/debug.c b/src/src/debug.c index 3cd6d0c92..35571547f 100644 --- a/src/src/debug.c +++ b/src/src/debug.c @@ -152,33 +152,22 @@ void debug_printf_indent(const char * format, ...) { va_list ap; -unsigned depth = acl_level + expand_level, i; - -if (!debug_file) return; -if (depth > 0) - { - for (i = depth >> 2; i > 0; i--) - fprintf(debug_file, " ."); - fprintf(debug_file, "%*s", depth & 3, ""); - } - va_start(ap, format); -debug_vprintf(format, ap); +debug_vprintf(acl_level + expand_level, format, ap); va_end(ap); } - void debug_printf(const char *format, ...) { va_list ap; va_start(ap, format); -debug_vprintf(format, ap); +debug_vprintf(0, format, ap); va_end(ap); } void -debug_vprintf(const char *format, va_list ap) +debug_vprintf(int indent, const char *format, va_list ap) { int save_errno = errno; @@ -217,6 +206,20 @@ if (debug_ptr == debug_buffer) debug_prefix_length = debug_ptr - debug_buffer; } +if (indent > 0) + { + int i; + for (i = indent >> 2; i > 0; i--) + { + Ustrcpy(debug_ptr, " " UTF8_VERT_2DASH); + debug_ptr += 6; /* 3 spaces + 3 UTF-8 octets */ + debug_prefix_length += 6; + } + Ustrncpy(debug_ptr, " ", indent &= 3); + debug_ptr += indent; + debug_prefix_length += indent; + } + /* Use the checked formatting routine to ensure that the buffer does not overflow. Ensure there's space for a newline at the end. */