#include "mutt_idna.h"
-const char RFC822Specials[] = "@.,:;<>[]\\\"()";
-
void address_wipe(address_t *addr)
{
p_delete(&addr->personal);
return NULL;
}
-#define is_special(x) strchr(RFC822Specials,x)
+const char RFC822Specials[] = "@.,:;<>[]\\\"()";
static const char *next_phrase(const char *s, static_buf *buf)
{
return parse_quote(s + 1, buf);
}
- if (is_special(*s)) {
+ if (strchr(RFC822Specials, *s)) {
stbuf_append(buf, *s);
return s + 1;
}
while (*s) {
- if (ISSPACE(*s) || is_special(*s))
+ if (ISSPACE(*s) || strchr(RFC822Specials, *s))
break;
stbuf_append(buf, *s++);
}
while (*s) {
s = skipspaces(s);
- if (!strchr(nonspecial, *s) && is_special(*s))
+ if (!strchr(nonspecial, *s) && strchr(RFC822Specials, *s))
return s;
if (*s == '(') {
buf[pos++] = ' ';
}
- while (addr) {
+ for (; addr; addr = addr->next) {
pos += rfc822_write_address_single(buf + pos, buflen + 1 - pos,
addr, display);
- /* if there is another address, and its not a group mailbox name or
- group terminator, add a comma to separate the addresses */
+
if (!addr->group && addr->next && addr->next->mailbox) {
+ /* if there is another address, and its not a group mailbox name or
+ group terminator, add a comma to separate the addresses */
if (pos + 2 >= buflen)
- goto done;
- if (!buflen)
- goto done;
+ break;
buf[pos++] = ',';
buf[pos++] = ' ';
}
-
- addr = addr->next;
}
done: