X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-ui%2Fstatus.c;h=a6f0211af0887da54d714dc3995d7bfe8e891da7;hp=3da31d9b0ea359a7f024557abd6c9b4cafe424f4;hb=16be8d10413bbcf822577afd4019d65aba7459e0;hpb=1eeaaac6bdcad962c41bf975a32078cc4a0e578c diff --git a/lib-ui/status.c b/lib-ui/status.c index 3da31d9..a6f0211 100644 --- a/lib-ui/status.c +++ b/lib-ui/status.c @@ -7,9 +7,8 @@ * please see the file GPL in the top level source directory. */ -#include +#include -#include #include #include @@ -17,8 +16,6 @@ #include "sort.h" #include "buffy.h" -#define SW (option(OPTMBOXPANE)?SidebarWidth:0) - static char *get_sort_str (char *buf, ssize_t buflen, int method) { snprintf (buf, buflen, "%s%s%s", @@ -46,16 +43,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[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 +95,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 (mod_core.shorthost)); break; case 'f': @@ -257,7 +253,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 +271,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; - m_strformat (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, getmaxx(main_w), p, status_format_str, menu, 0); }