X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=compose.c;h=7e74f619119bc170054dddc57767f1a609354fc9;hp=860d643d272f38f7f75b198fd666cdbacb9f4f69;hb=3b7a8f7577e7b40d39ba510f54bde0d3ec0cc58f;hpb=1eeaaac6bdcad962c41bf975a32078cc4a0e578c diff --git a/compose.c b/compose.c index 860d643..7e74f61 100644 --- a/compose.c +++ b/compose.c @@ -113,10 +113,9 @@ static struct mapping_t ComposeNewsHelp[] = { static void snd_entry (char *b, ssize_t blen, MUTTMENU * menu, int num) { - int w=(COLS-SW)>blen?blen:COLS-SW; - m_strformat (b, w, NONULL (AttachFormat), mutt_attach_fmt, - (unsigned long) (((ATTACHPTR **) menu->data)[num]), - M_FORMAT_STAT_FILE | M_FORMAT_ARROWCURSOR); + m_strformat(b, blen, COLS - SW, AttachFormat, mutt_attach_fmt, + ((ATTACHPTR **)menu->data)[num], + M_FORMAT_STAT_FILE | (option(OPTARROWCURSOR) ? M_FORMAT_ARROWCURSOR : 0)); } static void redraw_crypt_lines (HEADER * msg) @@ -410,13 +409,13 @@ static void compose_status_line (char *buf, ssize_t buflen, MUTTMENU * menu, static const char *compose_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) + const char *ifstr, + const char *elstr, + anytype data, format_flag flags) { char fmt[STRING], tmp[STRING]; int optional = (flags & M_FORMAT_OPTIONAL); - MUTTMENU *menu = (MUTTMENU *) data; + MUTTMENU *menu = data.ptr; *buf = 0; switch (op) { @@ -445,14 +444,12 @@ static const char *compose_format_str (char *buf, ssize_t buflen, char op, return (src); default: - snprintf (buf, buflen, "%%%s%c", prefix, op); + *buf = 0; break; } - if (optional) - compose_status_line (buf, buflen, menu, ifstring); - else if (flags & M_FORMAT_OPTIONAL) - compose_status_line (buf, buflen, menu, elsestring); + if (flags & M_FORMAT_OPTIONAL) + compose_status_line(buf, buflen, menu, optional ? ifstr : elstr); return (src); } @@ -460,9 +457,7 @@ static const char *compose_format_str (char *buf, ssize_t buflen, char op, static void compose_status_line (char *buf, ssize_t buflen, MUTTMENU * menu, const char *p) { - int w=(COLS-SW)>buflen?buflen:(COLS-SW); - m_strformat (buf, w, p, compose_format_str, - (unsigned long) menu, 0); + m_strformat(buf, buflen, COLS - SW, p, compose_format_str, menu, 0); } /* return values: