small bug in isemail

This commit is contained in:
dawg 2011-09-13 07:50:39 +02:00
parent e34a7debfd
commit b51f6ce6fd

View file

@ -597,7 +597,7 @@ EmailStatus isEmail (Char) (const(Char)[] email, CheckDns checkDNS = CheckDns.no
case Token.cr:
case Token.space:
case Token.tab:
if (token == Token.cr && (i++ == email.length || email.get(i, e) != Token.lf))
if (token == Token.cr && (++i == email.length || email.get(i, e) != Token.lf))
{
returnStatus ~= EmailStatusCode.errorCrNoLf;
break;
@ -1129,6 +1129,9 @@ unittest
assert("(\u000D)test@iana.org".isEmail(CheckDns.no, EmailStatusCode.any).statusCode == EmailStatusCode.errorCrNoLf,
`No LF after the CR`);
assert("(\u000D".isEmail(CheckDns.no, EmailStatusCode.any).statusCode == EmailStatusCode.errorCrNoLf,
`No LF after the CR`);
assert("test@iana.org(\u000D)".isEmail(CheckDns.no, EmailStatusCode.any).statusCode == EmailStatusCode.errorCrNoLf,
`No LF after the CR`);