perl version oddity
[exim.git] / src / src / debug.c
index 7b9be057bb08145e703f722990791fe70d5558cd..1d48f13952b52b322265eb3ce9f4ed92a039ba22 100644 (file)
@@ -2,9 +2,10 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
+/* Copyright (c) The Exim Maintainers 2015 - 2023 */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2015 - 2021 */
 /* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 
 
 #include "exim.h"
@@ -322,7 +323,7 @@ if (debug_ptr[-1] == '\n')
 
   if (debug_pretrigger_buf)
     {
-    int needed = Ustrlen(debug_buffer), avail;
+    int needed = Ustrlen(debug_buffer)+1, avail;
     char c;
 
     if (needed > debug_pretrigger_bsize)
@@ -343,6 +344,7 @@ if (debug_ptr[-1] == '\n')
        }
       while (c && c != '\n' && pretrigger_readoff != pretrigger_writeoff);
 
+    needed--;
     for (int i = 0; needed; i++, needed--)
       {
       debug_pretrigger_buf[pretrigger_writeoff] = debug_buffer[i];
@@ -437,7 +439,7 @@ if (fstat(fd, &s) == 0 && (s.st_mode & S_IFMT) == S_IFSOCK)
       : string_fmt_append(g, " proto %d", val);
     }
 #endif
-  debug_printf_indent(" socket: %s\n", string_from_gstring(g));
+  debug_printf_indent(" socket: %Y\n", g);
   }
 else
   debug_printf_indent(" fd st_mode 0%o\n", s.st_mode);