X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=status.c;h=429a718c6d07791a342f9ae75a0ae47c84e27ae4;hp=a470ae371bfe0a1496ed3dfdc138f58838bfbcd3;hb=19457d3e9b0b827930530f5e8f4f04dd745d685f;hpb=0f44dc85fc1280372ffab911d701e703d803fb4b diff --git a/status.c b/status.c index a470ae3..429a718 100644 --- a/status.c +++ b/status.c @@ -17,6 +17,7 @@ #include "sort.h" #include "mapping.h" #include "mx.h" +#include "buffy.h" #include "lib/mem.h" #include "lib/intl.h" @@ -26,6 +27,8 @@ #include #include +#define SW (option(OPTMBOXPANE)?SidebarWidth:0) + static char *get_sort_str (char *buf, size_t buflen, int method) { snprintf (buf, buflen, "%s%s%s", @@ -68,9 +71,9 @@ static const char *status_format_str (char *buf, size_t buflen, char op, case 'b': if (!optional) { snprintf (fmt, sizeof (fmt), "%%%sd", prefix); - snprintf (buf, buflen, fmt, mutt_buffy_check (0)); + snprintf (buf, buflen, fmt, buffy_check (0)); } - else if (!mutt_buffy_check (0)) + else if (!buffy_check (0)) optional = 0; break; @@ -240,7 +243,7 @@ static const char *status_format_str (char *buf, size_t buflen, char op, if (!StChars) buf[0] = 0; - else if (i >= safe_strlen (StChars)) + else if (i >= str_len (StChars)) buf[0] = StChars[0]; else buf[0] = StChars[i]; @@ -278,8 +281,7 @@ static const char *status_format_str (char *buf, size_t buflen, char op, break; case 'v': - snprintf (fmt, sizeof (fmt), "Mutt-ng %%s"); - snprintf (buf, buflen, fmt, MUTT_VERSION); + strncpy (buf, mutt_make_version (0), buflen); break; case 'V': @@ -309,9 +311,13 @@ static const char *status_format_str (char *buf, size_t buflen, char op, return (src); } -void menu_status_line (char *buf, size_t buflen, MUTTMENU * menu, - const char *p) -{ - mutt_FormatString (buf, buflen, p, status_format_str, (unsigned long) menu, - 0); +void menu_status_line (char* buf, size_t len, MUTTMENU* menu, const char* p) { + /* + * if we have enough space for buffer, format lines to $COLS-$SidebarWidth + * only to not wrap past end of screen + */ + int width = COLS - SW; + mutt_FormatString (buf, (width >= len ? len : (width + 1)), + p, status_format_str, + (unsigned long) menu, 0); }