code simplifications.
[apps/madmutt.git] / lib-mime / rfc822address.c
index ad4e117..6277ee9 100644 (file)
 
 void rfc822_qualify(address_t *addr, const char *host)
 {
-    char *p;
+    if (!host)
+        return;
 
     for (; addr; addr = addr->next) {
         if (!addr->group && addr->mailbox && !strchr(addr->mailbox, '@')) {
-            p = p_new(char, m_strlen(addr->mailbox) + m_strlen(host) + 2);
+            char *p = p_new(char, m_strlen(addr->mailbox) + m_strlen(host) + 2);
             sprintf(p, "%s@%s", addr->mailbox, host);
             p_delete(&addr->mailbox);
             addr->mailbox = p;
@@ -388,8 +389,8 @@ rfc822_strcpy(char *buf, ssize_t buflen, const char *p, const char *specials)
     }
 }
 
-ssize_t rfc822_write_address_single(char *buf, ssize_t buflen,
-                                    address_t *addr, int display)
+ssize_t
+rfc822_addrcpy(char *buf, ssize_t buflen, address_t *addr, int display)
 {
     ssize_t pos = 0;
 
@@ -402,21 +403,18 @@ ssize_t rfc822_write_address_single(char *buf, ssize_t buflen,
     }
 
     if (addr->mailbox) {
-        if (!display) {
-            pos += m_strcpy(buf + pos, buflen - pos, addr->mailbox);
-        } else {
-            pos += m_strcpy(buf + pos, buflen - pos, mutt_addr_for_display(addr));
-        }
+        pos += m_strcpy(buf + pos, buflen - pos,
+                        display ? mutt_addr_for_display(addr) : addr->mailbox);
 
         if (addr->personal) {
-            pos += m_strcpy(buf + pos, buflen - pos, ">");
+            pos += m_strputc(buf + pos, buflen - pos, '>');
         }
 
         if (addr->group) {
-            pos += m_strcpy(buf + pos, buflen - pos, ":");
+            pos += m_strputc(buf + pos, buflen - pos, ':');
         }
     } else {
-        pos += m_strcpy(buf + pos, buflen - pos, ";");
+        pos += m_strputc(buf + pos, buflen - pos, ';');
     }
 
     return pos;
@@ -424,19 +422,15 @@ ssize_t rfc822_write_address_single(char *buf, ssize_t buflen,
 
 /* note: it is assumed that `buf' is nul terminated! */
 ssize_t
-rfc822_write_address(char *buf, ssize_t buflen, address_t *addr, int display)
+rfc822_addrcat(char *buf, ssize_t buflen, address_t *addr, int display)
 {
-    ssize_t pos;
+    ssize_t pos = m_strnlen(buf, buflen);
 
-    pos = m_strnlen(buf, buflen);
-
-    if (pos) {
+    if (pos)
         pos += m_strcpy(buf + pos, buflen - pos, ", ");
-    }
 
     for (; addr; addr = addr->next) {
-        pos += rfc822_write_address_single(buf + pos, buflen - pos,
-                                           addr, display);
+        pos += rfc822_addrcpy(buf + pos, buflen - pos, addr, display);
 
         if (!addr->group && addr->next && addr->next->mailbox) {
             /* if there is another address, and its not a group mailbox name or