void alias_entry (char *s, size_t slen, MUTTMENU *m, int num)
{
- mutt_FormatString (s, slen, NONULL (AliasFmt), alias_format_str, (unsigned long) ((ALIAS **) m->data)[num], 0);
+ mutt_FormatString (s, slen, NONULL (AliasFmt), alias_format_str, (unsigned long) ((ALIAS **) m->data)[num], M_FORMAT_ARROWCURSOR);
}
int alias_tag (MUTTMENU *menu, int n)
folder.name = name;
folder.f = s;
folder.new = new;
- mutt_FormatString (buffer, sizeof (buffer), NONULL(FolderFormat), folder_format_str,
- (unsigned long) &folder, 0);
+ mutt_FormatString (buffer, sizeof (buffer), NONULL(FolderFormat),
+ folder_format_str, (unsigned long) &folder,
+ M_FORMAT_ARROWCURSOR);
if (state->entrylen == state->entrymax)
{
void index_make_entry (char *s, size_t l, MUTTMENU *menu, int num)
{
- format_flag flag = M_FORMAT_MAKEPRINT;
+ format_flag flag = M_FORMAT_MAKEPRINT | M_FORMAT_ARROWCURSOR;
int reverse = Sort & SORT_REVERSE, edgemsgno;
HEADER *tmp, *h = Context->hdrs[Context->v2r[num]];
{
char prefix[SHORT_STRING], buf[LONG_STRING], *cp, *wptr = dest, ch;
char ifstring[SHORT_STRING], elsestring[SHORT_STRING];
- size_t wlen = 0, count, len;
+ size_t wlen, count, len;
destlen--; /* save room for the terminal \0 */
+ wlen = (flags & M_FORMAT_ARROWCURSOR && option (OPTARROWCURSOR)) ? 3 : 0;
+
while (*src && wlen < destlen)
{
if (*src == '%')
M_FORMAT_TREE = (1<<1), /* draw the thread tree */
M_FORMAT_MAKEPRINT = (1<<2), /* make sure that all chars are printable */
M_FORMAT_OPTIONAL = (1<<3),
- M_FORMAT_STAT_FILE = (1<<4) /* used by mutt_attach_fmt */
+ M_FORMAT_STAT_FILE = (1<<4), /* used by mutt_attach_fmt */
+ M_FORMAT_ARROWCURSOR = (1<<5) /* reserve space for arrow_cursor */
} format_flag;
/* types for mutt_add_hook() */
{
CONTEXT *ctx = (CONTEXT *) menu->data;
- mutt_make_string (s, slen, NONULL (HdrFmt), ctx, ctx->hdrs[entry]);
+ _mutt_make_string (s, slen, NONULL (HdrFmt), ctx, ctx->hdrs[entry],
+ M_FORMAT_ARROWCURSOR);
}
static HEADER *select_msg (void)
{
char s[SHORT_STRING];
_mutt_make_string (s, sizeof (s), MsgFmt, NULL, aptr->content->hdr,
- M_FORMAT_FORCESUBJ | M_FORMAT_MAKEPRINT);
+ M_FORMAT_FORCESUBJ | M_FORMAT_MAKEPRINT | M_FORMAT_ARROWCURSOR);
if (*s)
{
snprintf (dest, destlen, fmt, s);
void attach_entry (char *b, size_t blen, MUTTMENU *menu, int num)
{
- mutt_FormatString (b, blen, NONULL (AttachFormat), mutt_attach_fmt, (unsigned long) (((ATTACHPTR **)menu->data)[num]), 0);
+ mutt_FormatString (b, blen, NONULL (AttachFormat), mutt_attach_fmt, (unsigned long) (((ATTACHPTR **)menu->data)[num]), M_FORMAT_ARROWCURSOR);
}
int mutt_tag_attach (MUTTMENU *menu, int n)