X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Fstr.h;h=1beac83790c4aea914680f71bd10154f0cd62e9b;hp=fd80950c6019da5e79f1ddb888b3ae3909064633;hb=79b870584c9a4fca6f6bf34b9b95dcff3b76dc29;hpb=2387528e4153c90f6e4b7e1bb7dba2fd09b1943c diff --git a/lib-lib/str.h b/lib-lib/str.h index fd80950..1beac83 100644 --- a/lib-lib/str.h +++ b/lib-lib/str.h @@ -193,6 +193,8 @@ static inline ssize_t m_strnlen(const char *s, ssize_t n) { return 0; } +ssize_t m_strwidth(const char *s); + /****************************************************************************/ /* comparisons */ /****************************************************************************/ @@ -359,6 +361,24 @@ m_strncat(char *dst, ssize_t n, const char *src, ssize_t l) { return dlen + m_strncpy(dst + dlen, n - dlen, src, l); } +/* flags for m_strformat() */ +typedef enum { + M_FORMAT_FORCESUBJ = (1 << 0), /* print the subject even if unchanged */ + 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_ARROWCURSOR = (1 << 5), /* reserve space for arrow_cursor */ + M_FORMAT_INDEX = (1 << 6) /* this is a main index entry */ +} format_flag; + +typedef const char * +format_t(char *, ssize_t, char, const char *, + const char *, const char *, const char *, anytype, format_flag); + +ssize_t m_strformat(char *, ssize_t, int, const char *, + format_t *, anytype, format_flag); + /****************************************************************************/ /* parsing related */ /****************************************************************************/