X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Fstr.c;h=604628d16be462e4cbe8dbfa3e7a1e75d7f3abac;hp=c71c4593930cbfc0b15dd99d0ca717ce3dc442e3;hb=16be8d10413bbcf822577afd4019d65aba7459e0;hpb=fbb30063894dbfb851ee04d89c964bc25ea48dcd diff --git a/lib-lib/str.c b/lib-lib/str.c index c71c459..604628d 100644 --- a/lib-lib/str.c +++ b/lib-lib/str.c @@ -248,6 +248,9 @@ ssize_t m_strwidth (const char *s) case -1: /* assume we will replace that char with a ? later */ wc = '?'; + pos ++; + break; + default: w += iswprint(wc) ? wcwidth(wc) : 1; pos += nb; @@ -260,9 +263,10 @@ ssize_t m_strwidth (const char *s) ssize_t m_strformat(char *dst, ssize_t dlen, int width, const char *fmt, format_t *callback, anytype cdata, format_flag flags) { - ssize_t pos = flags & M_FORMAT_ARROWCURSOR ? 3 : 0; + ssize_t pos = 0; - m_strpad(dst, dlen, '\0', pos + 1); + if (dlen) + *dst = '\0'; if (!fmt) return pos;