X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-ui%2Fstatus.c;h=2ca8f9d1c578437dbea7ec4b3a36c5d9b95ce503;hp=b19bf2435a17a4490552d44f99f6d38df625623e;hb=b6980caf7b13994c57957872876cdecc21e54a82;hpb=8476307969a605bea67f6b702b0c1e7a52038bed diff --git a/lib-ui/status.c b/lib-ui/status.c index b19bf24..2ca8f9d 100644 --- a/lib-ui/status.c +++ b/lib-ui/status.c @@ -46,16 +46,15 @@ static char *get_sort_str (char *buf, ssize_t buflen, int method) * %t = # of tagged messages [option] * %v = Madmutt version * %V = currently active limit pattern [option] */ -static const char *status_format_str (char *buf, ssize_t buflen, char op, - const char *src, const char *prefix, - const char *ifstring, - const char *elsestring, - unsigned long data, format_flag flags) +static const char * +status_format_str(char *buf, ssize_t buflen, char op, const char *src, + const char *prefix, const char *ifstr, const char *elstr, + anytype data, format_flag flags) { - char fmt[SHORT_STRING], tmp[SHORT_STRING]; + char fmt[STRING], tmp[STRING]; const char *cp, *p; int count, optional = (flags & M_FORMAT_OPTIONAL); - MUTTMENU *menu = (MUTTMENU *) data; + MUTTMENU *menu = data.ptr; *buf = 0; switch (op) { @@ -99,7 +98,7 @@ static const char *status_format_str (char *buf, ssize_t buflen, char op, case 'h': snprintf (fmt, sizeof (fmt), "%%%ss", prefix); - snprintf (buf, buflen, fmt, NONULL (Hostname)); + snprintf (buf, buflen, fmt, NONULL (MCore.shorthost)); break; case 'f': @@ -257,7 +256,7 @@ static const char *status_format_str (char *buf, ssize_t buflen, char op, break; case 'v': - m_strcpy(buf, buflen, mutt_make_version(0)); + m_strcpy(buf, buflen, mutt_make_version()); break; case 'V': @@ -275,25 +274,17 @@ static const char *status_format_str (char *buf, ssize_t buflen, char op, return (src); default: - snprintf (buf, buflen, "%%%s%c", prefix, op); + *buf = 0; break; } - if (optional) - menu_status_line (buf, buflen, menu, ifstring); - else if (flags & M_FORMAT_OPTIONAL) - menu_status_line (buf, buflen, menu, elsestring); + if (flags & M_FORMAT_OPTIONAL) + menu_status_line(buf, buflen, menu, optional ? ifstr : elstr); return (src); } -void menu_status_line (char* buf, ssize_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); +void menu_status_line(char* buf, ssize_t len, MUTTMENU* menu, const char* p) +{ + m_strformat(buf, len, COLS - SW, p, status_format_str, menu, 0); }