From 90cbaceca53a93d119177828c90d7042aa6f3b65 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Sun, 23 May 2021 14:39:29 +0200
Subject: [PATCH] MISC: Fix the LKT_OUTPUT macro & handle corner cases with
 safe_strncpy

---
 src/base/common.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/base/common.c b/src/base/common.c
index 45d3714e..814561f1 100644
--- a/src/base/common.c
+++ b/src/base/common.c
@@ -115,7 +115,7 @@ ___lkt_print(const char *section, const char *format, ...)
     }
 
     ssize_t count =
-        safe_snprintf(line, LKT_MESSAGE_MAX, "   [%02d:%02d:%02d] OUTPUT: %s\n", hour, min, sec, section, format);
+        safe_snprintf(line, LKT_MESSAGE_MAX, "   [%02d:%02d:%02d] %-10s %s\n", hour, min, sec, section, format);
     /* Check for overflow */
     if (count >= LKT_MESSAGE_MAX - 1) {
         line[LKT_MESSAGE_MAX - 1] = '\0';
@@ -277,6 +277,15 @@ long_length(long integer)
 char *
 safe_strncpy(char *dest, const char *src, size_t n)
 {
+    /* Edge cases */
+    if (src == NULL && n > 0) {
+        dest[0] = '\0';
+        return dest;
+    } else if (n == 0) {
+        return dest;
+    }
+
+    /* Regular case */
     char *ret   = strncpy(dest, src, n);
     dest[n - 1] = '\0';
     return ret;
-- 
GitLab