summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--blaze822.c2
-rwxr-xr-xt/1501-maddr-regress.t7
2 files changed, 6 insertions, 3 deletions
diff --git a/blaze822.c b/blaze822.c
index 6a5c305..0434d89 100644
--- a/blaze822.c
+++ b/blaze822.c
@@ -277,8 +277,6 @@ blaze822_addr(char *s, char **dispo, char **addro)
 			if (memchr(tok, '@', c - tok))
 				not_addr = 1;  // @ inside "" is never an addr
 
-			if (tc != ttok)
-				tc += safe_append_space(ttok, sizeof ttok);
 			tc += safe_append(ttok, sizeof ttok, tok, c);
 		} else if (*s == '(') {
 			char *z = skip_comment(s);
diff --git a/t/1501-maddr-regress.t b/t/1501-maddr-regress.t
index 3f638b5..37b592a 100755
--- a/t/1501-maddr-regress.t
+++ b/t/1501-maddr-regress.t
@@ -1,7 +1,7 @@
 #!/bin/sh
 cd ${0%/*}
 . ./lib.sh
-plan 27
+plan 31
 
 check_addr() {
   printf "From: %s\n" "$1" | check_test "parse $1" = "$2" "maddr /dev/stdin"
@@ -41,3 +41,8 @@ check_addr 'foo@[::1] (ipv6)' 'ipv6 <foo@[::1]>'
 check_addr '<Foo Bar <foobar@qux.com>' 'foobar@qux.com'
 check_addr '"abc@def"@ghi' ''
 check_addr '"foo@" <bar.com foo@bar.com>' '"foo@" <bar.comfoo@bar.com>'
+
+check_addr 'test."test"@example.org' 'test.test@example.org'
+check_addr '<test."test"@example.org>' 'test.test@example.org'
+check_addr 'test"test"@example.org' 'testtest@example.org'
+check_addr '<test"test"@example.org>' 'testtest@example.org'