static const unsigned int url_scanner_table[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, IS_LWSP, IS_LWSP, IS_LWSP, IS_LWSP, IS_LWSP, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, IS_LWSP /* */,
- IS_MAILSAFE /* ! */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* " */,
+ IS_MAILSAFE /* ! */, IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* " */,
IS_MAILSAFE /* # */, IS_MAILSAFE /* $ */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* % */, 0 /* & */, IS_MAILSAFE /* ' */,
IS_MAILSAFE /* ( */, IS_MAILSAFE /* ) */, IS_MAILSAFE /* * */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* \ */, IS_MAILSAFE /* ] */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* ^ */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* _ */,
- IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* ` */,
+ IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* ` */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* a */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* b */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* c */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* x */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* y */,
IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* z */,
- IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* { */,
- IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* | */,
- IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* } */,
- IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* ~ */, 0, IS_URLSAFE|IS_DOMAIN,
+ IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* { */,
+ IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* | */,
+ IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* } */,
+ IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* ~ */, 0, IS_URLSAFE|IS_DOMAIN,
IS_URLSAFE|IS_DOMAIN, IS_URLSAFE|IS_DOMAIN, IS_URLSAFE|IS_DOMAIN,
IS_URLSAFE|IS_DOMAIN, IS_URLSAFE|IS_DOMAIN, IS_URLSAFE|IS_DOMAIN,
IS_URLSAFE|IS_DOMAIN, IS_URLSAFE|IS_DOMAIN, IS_URLSAFE|IS_DOMAIN,