]> granicus.if.org Git - neomutt/commitdiff
Change $query_format to use mutt_format_s
authorKevin McCarthy <kevin@8t8.us>
Fri, 24 Aug 2018 22:49:49 +0000 (15:49 -0700)
committerRichard Russon <rich@flatcap.org>
Sat, 1 Sep 2018 17:06:08 +0000 (18:06 +0100)
Use the character-cell width functions so that multibyte output is
properly formatted.

query.c

diff --git a/query.c b/query.c
index b6b317aaf1967e21c5f4257b6d6f9b0a4276692c..5c2e8045e1028fc05d87e68a070bf7d23c72949c 100644 (file)
--- a/query.c
+++ b/query.c
@@ -258,8 +258,7 @@ static const char *query_format_str(char *buf, size_t buflen, size_t col, int co
   {
     case 'a':
       mutt_addr_write(tmp, sizeof(tmp), query->addr, true);
-      snprintf(fmt, sizeof(fmt), "%%%ss", prec);
-      snprintf(buf, buflen, fmt, tmp);
+      mutt_format_s(buf, buflen, prec, tmp);
       break;
     case 'c':
       snprintf(fmt, sizeof(fmt), "%%%sd", prec);
@@ -267,16 +266,12 @@ static const char *query_format_str(char *buf, size_t buflen, size_t col, int co
       break;
     case 'e':
       if (!optional)
-      {
-        snprintf(fmt, sizeof(fmt), "%%%ss", prec);
-        snprintf(buf, buflen, fmt, NONULL(query->other));
-      }
+        mutt_format_s(buf, buflen, prec, NONULL(query->other));
       else if (!query->other || !*query->other)
         optional = 0;
       break;
     case 'n':
-      snprintf(fmt, sizeof(fmt), "%%%ss", prec);
-      snprintf(buf, buflen, fmt, NONULL(query->name));
+      mutt_format_s(buf, buflen, prec, NONULL(query->name));
       break;
     case 't':
       snprintf(fmt, sizeof(fmt), "%%%sc", prec);