diff options
-rw-r--r-- | blaze822.c | 1 | ||||
-rwxr-xr-x | t/1501-maddr-regress.t | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/blaze822.c b/blaze822.c index 0434d89..d34a4ae 100644 --- a/blaze822.c +++ b/blaze822.c @@ -277,6 +277,7 @@ blaze822_addr(char *s, char **dispo, char **addro) if (memchr(tok, '@', c - tok)) not_addr = 1; // @ inside "" is never an addr + *tc = 0; 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 37b592a..4e6be77 100755 --- a/t/1501-maddr-regress.t +++ b/t/1501-maddr-regress.t @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} . ./lib.sh -plan 31 +plan 33 check_addr() { printf "From: %s\n" "$1" | check_test "parse $1" = "$2" "maddr /dev/stdin" @@ -46,3 +46,6 @@ 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' + +check_addr 'foo<bar@example.org>' 'foo <bar@example.org>' +check_addr 'xxxxxxxxx a"test"@example.org' "xxxxxxxxx <atest@example.org>" |