fixes in the sidebar format, was completely braindead.
[apps/madmutt.git] / muttlib.c
index 9c108b7..876c69c 100644 (file)
--- a/muttlib.c
+++ b/muttlib.c
@@ -333,11 +333,17 @@ ssize_t m_strformat(char *dst, ssize_t dlen, const char *fmt,
 {
     ssize_t pos = flags & M_FORMAT_ARROWCURSOR ? 3 : 0;
 
+    if (dlen >= 0)
+        *dst = '\0';
+
     while (*fmt) {
-        char ifstring[STRING], elsestring[STRING], prefix[STRING] = "";
         int ch;
 
         if (*fmt == '%') {
+            char ifstring[STRING], elsestring[STRING], prefix[STRING];
+
+            *ifstring = *elsestring = *prefix = '\0';
+
             if (*++fmt == '%') {
                 pos += m_strputc(dst + pos, dlen - pos, *fmt++);
                 continue;
@@ -382,8 +388,6 @@ ssize_t m_strformat(char *dst, ssize_t dlen, const char *fmt,
 
                 if (!*fmt++)              /* move past the trailing `?' */
                     break;                /* bad format */
-            } else {
-                *ifstring = *elsestring = '\0';
             }
 
             switch (ch) {