mutt_FormatString -> m_strformat (will soon end up into the str lib \o/)
authorPierre Habouzit <madcoder@debian.org>
Sat, 2 Dec 2006 20:04:02 +0000 (21:04 +0100)
committerPierre Habouzit <madcoder@debian.org>
Sat, 2 Dec 2006 20:04:02 +0000 (21:04 +0100)
some tiny reworks, stylish issues.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
18 files changed:
alias.c
browser.c
compose.c
lib-crypt/crypt-gpgme.c
lib-crypt/pgpinvoke.c
lib-crypt/pgpkey.c
lib-crypt/smime.c
lib-mx/compress.c
lib-ui/hdrline.c
lib-ui/sidebar.c
lib-ui/status.c
mutt.h
muttlib.c
nntp/newsrc.c
protos.h
recvattach.c
remailer.c
sendlib.c

diff --git a/alias.c b/alias.c
index 84eda4d..201cb0e 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -515,7 +515,7 @@ static const format_t *alias_format_str (char *dest, size_t destlen, char op,
 
 static void alias_entry (char *s, ssize_t slen, MUTTMENU * m, int num)
 {
-  mutt_FormatString (s, slen, NONULL (AliasFmt), (format_t *)alias_format_str,
+  m_strformat (s, slen, NONULL (AliasFmt), (format_t *)alias_format_str,
                      (unsigned long)((alias_t **)m->data)[num],
                      M_FORMAT_ARROWCURSOR);
 }
index fd92753..47c4b3f 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -301,9 +301,9 @@ static const char *folder_format_str (char *dest, ssize_t destlen, char op,
   }
 
   if (optional)
-    mutt_FormatString (dest, destlen, ifstring, folder_format_str, data, 0);
+    m_strformat (dest, destlen, ifstring, folder_format_str, data, 0);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elsestring, folder_format_str, data, 0);
+    m_strformat (dest, destlen, elsestring, folder_format_str, data, 0);
 
   return (src);
 }
@@ -350,10 +350,10 @@ static const char *newsgroup_format_str (char *dest, ssize_t destlen, char op,
   case 's':
     if (flags & M_FORMAT_OPTIONAL) {
       if (folder->ff->nd->unread != 0)
-        mutt_FormatString (dest, destlen, ifstring, newsgroup_format_str,
+        m_strformat (dest, destlen, ifstring, newsgroup_format_str,
                            data, flags);
       else
-        mutt_FormatString (dest, destlen, elsestring, newsgroup_format_str,
+        m_strformat (dest, destlen, elsestring, newsgroup_format_str,
                            data, flags);
     }
     else if (Context && Context->data == folder->ff->nd) {
@@ -645,11 +645,11 @@ static void folder_entry (char *s, ssize_t slen, MUTTMENU * menu, int num)
 
 #ifdef USE_NNTP
   if (option (OPTNEWS))
-    mutt_FormatString (s, slen, NONULL (GroupFormat), newsgroup_format_str,
+    m_strformat (s, slen, NONULL (GroupFormat), newsgroup_format_str,
                        (unsigned long) &folder, M_FORMAT_ARROWCURSOR);
   else
 #endif
-    mutt_FormatString (s, slen, NONULL (FolderFormat), folder_format_str,
+    m_strformat (s, slen, NONULL (FolderFormat), folder_format_str,
                        (unsigned long) &folder, M_FORMAT_ARROWCURSOR);
 }
 
index ec7ac1b..860d643 100644 (file)
--- a/compose.c
+++ b/compose.c
@@ -114,7 +114,7 @@ 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;
-  mutt_FormatString (b, w, NONULL (AttachFormat), mutt_attach_fmt,
+  m_strformat (b, w, NONULL (AttachFormat), mutt_attach_fmt,
                      (unsigned long) (((ATTACHPTR **) menu->data)[num]),
                      M_FORMAT_STAT_FILE | M_FORMAT_ARROWCURSOR);
 }
@@ -461,7 +461,7 @@ static void compose_status_line (char *buf, ssize_t buflen, MUTTMENU * menu,
                                  const char *p)
 {
   int w=(COLS-SW)>buflen?buflen:(COLS-SW);
-  mutt_FormatString (buf, w, p, compose_format_str,
+  m_strformat (buf, w, p, compose_format_str,
                      (unsigned long) menu, 0);
 }
 
index e295042..700f9d3 100644 (file)
@@ -2309,9 +2309,9 @@ crypt_entry_fmt (char *dest, ssize_t destlen, char op,
   }
 
   if (optional)
-    mutt_FormatString (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
+    m_strformat (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
+    m_strformat (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
   return (src);
 }
 
@@ -2324,7 +2324,7 @@ static void crypt_entry (char *s, ssize_t l, MUTTMENU * menu, int num)
   entry.key = key_table[num];
   entry.num = num + 1;
 
-  mutt_FormatString (s, l, NONULL (PgpEntryFormat), crypt_entry_fmt,
+  m_strformat (s, l, NONULL (PgpEntryFormat), crypt_entry_fmt,
                      (unsigned long) &entry, M_FORMAT_ARROWCURSOR);
 }
 
index 10878d3..312f59e 100644 (file)
@@ -108,10 +108,10 @@ _mutt_fmt_pgp_command(char *dest, ssize_t destlen,
   }
 
   if (optional)
-    mutt_FormatString (dest, destlen, ifstring, _mutt_fmt_pgp_command, data,
+    m_strformat (dest, destlen, ifstring, _mutt_fmt_pgp_command, data,
                        0);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elsestring, _mutt_fmt_pgp_command, data,
+    m_strformat (dest, destlen, elsestring, _mutt_fmt_pgp_command, data,
                        0);
 
   return (src);
@@ -121,7 +121,7 @@ static void
 mutt_pgp_command(char *d, ssize_t dlen, struct pgp_command_context *cctx,
                  const char *fmt)
 {
-  mutt_FormatString (d, dlen, NONULL (fmt), _mutt_fmt_pgp_command,
+  m_strformat (d, dlen, NONULL (fmt), _mutt_fmt_pgp_command,
                      (unsigned long) cctx, 0);
 }
 
index e5d1796..c0a06f2 100644 (file)
@@ -236,9 +236,9 @@ pgp_entry_fmt (char *dest, ssize_t destlen, char op,
   }
 
   if (optional)
-    mutt_FormatString (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
+    m_strformat (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
+    m_strformat (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
   return (src);
 }
 
@@ -250,7 +250,7 @@ static void pgp_entry (char *s, ssize_t l, MUTTMENU * menu, int num)
   entry.uid = KeyTable[num];
   entry.num = num + 1;
 
-  mutt_FormatString (s, l, NONULL (PgpEntryFormat), pgp_entry_fmt,
+  m_strformat (s, l, NONULL (PgpEntryFormat), pgp_entry_fmt,
                      (unsigned long) &entry, M_FORMAT_ARROWCURSOR);
 }
 
index 4a4f89c..555c8e9 100644 (file)
@@ -219,10 +219,10 @@ _mutt_fmt_smime_command (char *dest, ssize_t destlen, char op,
   }
 
   if (optional)
-    mutt_FormatString (dest, destlen, ifstring, _mutt_fmt_smime_command,
+    m_strformat (dest, destlen, ifstring, _mutt_fmt_smime_command,
                        data, 0);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elsestring, _mutt_fmt_smime_command,
+    m_strformat (dest, destlen, elsestring, _mutt_fmt_smime_command,
                        data, 0);
 
   return (src);
@@ -234,7 +234,7 @@ static void mutt_smime_command (char *d, ssize_t dlen,
                                 struct smime_command_context *cctx,
                                 const char *fmt)
 {
-  mutt_FormatString (d, dlen, NONULL (fmt), _mutt_fmt_smime_command,
+  m_strformat (d, dlen, NONULL (fmt), _mutt_fmt_smime_command,
                      (unsigned long) cctx, 0);
 }
 
index 52978ac..37090fb 100644 (file)
@@ -171,7 +171,7 @@ static char *get_compression_cmd (const char *cmd, const CONTEXT * ctx)
 {
   char expanded[_POSIX_PATH_MAX];
 
-  mutt_FormatString (expanded, sizeof (expanded), cmd,
+  m_strformat (expanded, sizeof (expanded), cmd,
                      compresshook_format_str, (unsigned long) ctx, 0);
   return m_strdup(expanded);
 }
index 09e77da..6a4f7ea 100644 (file)
@@ -707,10 +707,10 @@ static const char *hdr_format_str (char *dest,
   }
 
   if (optional)
-    mutt_FormatString (dest, destlen, ifstring, hdr_format_str,
+    m_strformat (dest, destlen, ifstring, hdr_format_str,
                        (unsigned long) hfi, flags);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elsestring, hdr_format_str,
+    m_strformat (dest, destlen, elsestring, hdr_format_str,
                        (unsigned long) hfi, flags);
 
   return (src);
@@ -727,6 +727,6 @@ _mutt_make_string (char *dest, ssize_t destlen, const char *s, CONTEXT * ctx,
   hfi.hdr = hdr;
   hfi.ctx = ctx;
 
-  mutt_FormatString (dest, destlen, s, hdr_format_str, (unsigned long) &hfi,
+  m_strformat (dest, destlen, s, hdr_format_str, (unsigned long) &hfi,
                      flags);
 }
index 3a17817..48e4360 100644 (file)
@@ -163,10 +163,10 @@ static const char* sidebar_number_format (char* dest, ssize_t destlen, char op,
   }
 
   if (opt)
-    mutt_FormatString (dest, destlen, ifstr, sidebar_number_format,
+    m_strformat (dest, destlen, ifstr, sidebar_number_format,
                        data, M_FORMAT_OPTIONAL);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elstr, sidebar_number_format,
+    m_strformat (dest, destlen, elstr, sidebar_number_format,
                        data, M_FORMAT_OPTIONAL);
   return (src);
 }
@@ -200,7 +200,7 @@ static int make_sidebar_entry (char* sbox, int idx, ssize_t len)
      * (i.e. always display the currently opened) */
     return (0);
 
-  mutt_FormatString (no, len, NONULL (SidebarNumberFormat),
+  m_strformat (no, len, NONULL (SidebarNumberFormat),
                      sidebar_number_format, idx, M_FORMAT_OPTIONAL);
   lencnt = m_strlen(no);
   memset(&entry, ' ', sizeof(entry));
index b2b3835..3da31d9 100644 (file)
@@ -293,7 +293,7 @@ void menu_status_line (char* buf, ssize_t len, MUTTMENU* menu, const char* p) {
    * only to not wrap past end of screen
    */
   int width = COLS - SW;
-  mutt_FormatString (buf, (width >= len ? len : (width + 1)),
+  m_strformat (buf, (width >= len ? len : (width + 1)),
                      p, status_format_str,
                      (unsigned long) menu, 0);
 }
diff --git a/mutt.h b/mutt.h
index 15af96a..ae133c9 100644 (file)
--- a/mutt.h
+++ b/mutt.h
@@ -30,7 +30,7 @@ typedef struct {
   int op;                       /* function op */
 } event_t;
 
-/* flags for mutt_FormatString() */
+/* 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 */
index e56bbcd..f185e12 100644 (file)
--- a/muttlib.c
+++ b/muttlib.c
@@ -328,20 +328,18 @@ void mutt_safe_path(char *s, ssize_t l, address_t *a)
     }
 }
 
-ssize_t
-mutt_FormatString(char *dst, ssize_t dlen, const char *fmt,
-                  format_t *callback, unsigned long data, format_flag flags)
+ssize_t m_strformat(char *dst, ssize_t dlen, const char *fmt,
+                    format_t *callback, unsigned long data, format_flag flags)
 {
     ssize_t pos = (flags & M_FORMAT_ARROWCURSOR && option (OPTARROWCURSOR)) ? 3 : 0;
 
     while (*fmt) {
-        char ifstring[STRING] = "", elsestring[STRING] = "", prefix[STRING] = "";
+        char ifstring[STRING], elsestring[STRING], prefix[STRING] = "";
         int ch;
 
         if (*fmt == '%') {
             if (*++fmt == '%') {
-                pos += m_strputc(dst + pos, dlen - pos, '%');
-                fmt++;
+                pos += m_strputc(dst + pos, dlen - pos, *fmt++);
                 continue;
             }
 
@@ -384,6 +382,8 @@ mutt_FormatString(char *dst, ssize_t dlen, const char *fmt,
 
                 if (!*fmt++)              /* move past the trailing `?' */
                     break;                /* bad format */
+            } else {
+                *ifstring = *elsestring = '\0';
             }
 
             switch (ch) {
@@ -396,12 +396,9 @@ mutt_FormatString(char *dst, ssize_t dlen, const char *fmt,
                 ch = *fmt++;            /* pad char */
 
                 if (COLS - SW > col) {
-                    ssize_t wid;
-
-                    mutt_FormatString(buf, sizeof(buf), fmt, callback, data, flags);
-                    wid = mutt_strwidth(buf);
-
-                    pos += m_strpad(dst + pos, dlen - pos, ch, COLS - SW - col - wid);
+                    m_strformat(buf, sizeof(buf), fmt, callback, data, flags);
+                    pos += m_strpad(dst + pos, dlen - pos, ch,
+                                    COLS - SW - col - mutt_strwidth(buf));
                     pos += m_strcpy(dst + pos, dlen - pos, buf);
                 }
                 return pos;             /* skip rest of input */
@@ -440,22 +437,22 @@ mutt_FormatString(char *dst, ssize_t dlen, const char *fmt,
                 }
 
                 pos += m_strcpy(dst + pos, dlen - pos, buf);
-                continue;
+                break;
             }
+            continue;
         }
 
         if (*fmt == '\\') {
             if (!*++fmt)
                 break;
-            switch (*fmt) {
+            switch ((ch = *fmt++)) {
               case 'n': pos += m_strputc(dst + pos, dlen - pos, '\n'); break;
               case 't': pos += m_strputc(dst + pos, dlen - pos, '\t'); break;
               case 'r': pos += m_strputc(dst + pos, dlen - pos, '\r'); break;
               case 'f': pos += m_strputc(dst + pos, dlen - pos, '\f'); break;
               case 'v': pos += m_strputc(dst + pos, dlen - pos, '\v'); break;
-              default:  pos += m_strputc(dst + pos, dlen - pos, *fmt); break;
+              default:  pos += m_strputc(dst + pos, dlen - pos, ch);   break;
             }
-            fmt++;
         } else {
             ssize_t len = strcspn(fmt, "%\\");
 
index 178594e..2c95d8b 100644 (file)
@@ -344,7 +344,7 @@ NNTP_SERVER *mutt_select_newsserver (char *server)
   if (!conn)
     return NULL;
 
-  mutt_FormatString (file, sizeof (file), NONULL (NewsRc), nntp_format_str, 0,
+  m_strformat (file, sizeof (file), NONULL (NewsRc), nntp_format_str, 0,
                      0);
   mutt_expand_path (file, sizeof (file));
 
index a989214..2dc73ef 100644 (file)
--- a/protos.h
+++ b/protos.h
@@ -18,7 +18,7 @@ typedef const char *format_t (char *, ssize_t, char, const char *,
                               const char *, const char *, const char *,
                               unsigned long, format_flag);
 
-ssize_t mutt_FormatString(char *, ssize_t, const char *, format_t *,
+ssize_t m_strformat(char *, ssize_t, const char *, format_t *,
                           unsigned long, format_flag);
 
 void set_quadoption (int, int);
index 1e0af26..50d3601 100644 (file)
@@ -313,16 +313,16 @@ const char *mutt_attach_fmt (char *dest,
   }
 
   if (optional)
-    mutt_FormatString (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
+    m_strformat (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
   else if (flags & M_FORMAT_OPTIONAL)
-    mutt_FormatString (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
+    m_strformat (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
   return (src);
 }
 
 static void attach_entry (char *b, ssize_t blen, MUTTMENU * menu, int num)
 {
   int w=(COLS-SW)>blen?blen:(COLS-SW);
-  mutt_FormatString (b, w, NONULL (AttachFormat), mutt_attach_fmt,
+  m_strformat (b, w, NONULL (AttachFormat), mutt_attach_fmt,
                      (unsigned long) (((ATTACHPTR **) menu->data)[num]),
                      M_FORMAT_ARROWCURSOR);
 }
index 7d1dceb..40f5bba 100644 (file)
@@ -388,9 +388,9 @@ static const char *mix_entry_fmt (char *dest,
     }
 
     if (optional)
-        mutt_FormatString (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
+        m_strformat (dest, destlen, ifstring, mutt_attach_fmt, data, 0);
     else if (flags & M_FORMAT_OPTIONAL)
-        mutt_FormatString (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
+        m_strformat (dest, destlen, elsestring, mutt_attach_fmt, data, 0);
     return (src);
 }
 
@@ -401,7 +401,7 @@ static void mix_entry (char *b, ssize_t blen, MUTTMENU * menu, int num)
     remailer_t **type2_list = (remailer_t **) menu->data;
     int w = (COLS-SW) > blen ? blen : (COLS-SW);
 
-    mutt_FormatString (b, w, NONULL (MixEntryFormat), mix_entry_fmt,
+    m_strformat (b, w, NONULL (MixEntryFormat), mix_entry_fmt,
                        (unsigned long) type2_list[num], M_FORMAT_ARROWCURSOR);
 }
 
index e863656..c7e8bfd 100644 (file)
--- a/sendlib.c
+++ b/sendlib.c
@@ -1840,7 +1840,7 @@ static int mutt_invoke_sendmail (address_t * from,        /* the sender */
   if (option (OPTNEWSSEND)) {
     char cmd[LONG_STRING];
 
-    mutt_FormatString (cmd, sizeof (cmd), NONULL (Inews), nntp_format_str, 0,
+    m_strformat (cmd, sizeof (cmd), NONULL (Inews), nntp_format_str, 0,
                        0);
     if (m_strisempty(cmd)) {
       i = nntp_post (msg);