X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mime%2Frfc822address.c;h=c6b12ab7d750927025ff707a81fbdc06cda94179;hp=a6a06c432319898f3bacfcb66d957e0a01afae34;hb=98533911b5d5279b6f4574c66f77fbd6c772ac6f;hpb=c76ab67f3430e67b14b381bc1e3a23a14a4053b8 diff --git a/lib-mime/rfc822address.c b/lib-mime/rfc822address.c index a6a06c4..c6b12ab 100644 --- a/lib-mime/rfc822address.c +++ b/lib-mime/rfc822address.c @@ -145,7 +145,7 @@ static const char *parse_comment(const char *s, static_buf *buf) case ')': level--; if (!level) - return s; + return s + 1; break; case '\\': @@ -389,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; @@ -403,11 +403,8 @@ 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_strputc(buf + pos, buflen - pos, '>'); @@ -425,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