From 635dfe95adedb8525df1d0865918790cdb55c412 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Tue, 13 Jun 2017 17:18:05 +0200 Subject: blaze822: blaze822_addr: support backslashes in atoms This happens a lot in the real world, even if it's not RFC conforming. --- blaze822.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'blaze822.c') diff --git a/blaze822.c b/blaze822.c index 0fcc276..5a6edd2 100644 --- a/blaze822.c +++ b/blaze822.c @@ -185,7 +185,7 @@ blaze822_addr(char *s, char **dispo, char **addro) } if (*s == '"') s++; - } else if (*s == '(') { + } else if (*s == '(') { // XXX recurse to conform? s++; if (!*addr) { // assume: user@host (name) @@ -202,6 +202,10 @@ blaze822_addr(char *s, char **dispo, char **addro) *c++ = *s++; if (*s == ')') s++; + } else if (*s == '\\') { + s++; + if (*s) + *c++ = *s++; } else if (*s == ':') { s++; while (iswsp(*s)) -- cgit 1.4.1