@@ -171,6 +171,8 @@ typedef enum
171171 TPS_InPort ,
172172 TPS_InHostFirstAN ,
173173 TPS_InHost ,
174+ TPS_InHostAsciiWord ,
175+ TPS_InHostNumWord ,
174176 TPS_InEmail ,
175177 TPS_InFileFirst ,
176178 TPS_InFileTwiddle ,
@@ -1443,7 +1445,7 @@ static const TParserStateActionItem actionTPS_InHostDomainSecond[] = {
14431445};
14441446
14451447static const TParserStateActionItem actionTPS_InHostDomain [] = {
1446- {p_isEOF , 0 , A_BINGO | A_CLRALL , TPS_Base , HOST , NULL },
1448+ {p_isEOF , 0 , A_BINGO | A_CLRALL , TPS_InHostAsciiWord , HOST , SpecialHyphen },
14471449 {p_isasclet , 0 , A_NEXT , TPS_InHostDomain , 0 , NULL },
14481450 {p_isdigit , 0 , A_PUSH , TPS_InHost , 0 , NULL },
14491451 {p_iseqC , ':' , A_PUSH , TPS_InPortFirst , 0 , NULL },
@@ -1454,7 +1456,22 @@ static const TParserStateActionItem actionTPS_InHostDomain[] = {
14541456 {p_isdigit , 0 , A_POP , TPS_Null , 0 , NULL },
14551457 {p_isstophost , 0 , A_BINGO | A_CLRALL , TPS_InURLPathStart , HOST , NULL },
14561458 {p_iseqC , '/' , A_PUSH , TPS_InFURL , 0 , NULL },
1457- {NULL , 0 , A_BINGO | A_CLRALL , TPS_Base , HOST , NULL }
1459+ {NULL , 0 , A_BINGO | A_CLRALL , TPS_InHostAsciiWord , HOST , SpecialHyphen }
1460+ };
1461+
1462+ static const TParserStateActionItem actionTPS_InHostAsciiWord [] = {
1463+ {p_isEOF , 0 , A_BINGO , TPS_Base , ASCIIWORD , NULL },
1464+ {p_isasclet , 0 , A_NEXT , TPS_Null , 0 , NULL },
1465+ {p_isdigit , 0 , A_NEXT , TPS_InHostNumWord , 0 , NULL },
1466+ {p_isalpha , 0 , A_NEXT , TPS_InWord , 0 , NULL },
1467+ {p_isspecial , 0 , A_NEXT , TPS_InWord , 0 , NULL },
1468+ {NULL , 0 , A_BINGO , TPS_Base , ASCIIWORD , NULL }
1469+ };
1470+
1471+ static const TParserStateActionItem actionTPS_InHostNumWord [] = {
1472+ {p_isEOF , 0 , A_BINGO , TPS_Base , NUMWORD , NULL },
1473+ {p_isalnum , 0 , A_NEXT , TPS_InHostNumWord , 0 , NULL },
1474+ {NULL , 0 , A_BINGO , TPS_Base , NUMWORD , NULL }
14581475};
14591476
14601477static const TParserStateActionItem actionTPS_InPortFirst [] = {
@@ -1782,6 +1799,8 @@ static const TParserStateAction Actions[] = {
17821799 TPARSERSTATEACTION (TPS_InPort ),
17831800 TPARSERSTATEACTION (TPS_InHostFirstAN ),
17841801 TPARSERSTATEACTION (TPS_InHost ),
1802+ TPARSERSTATEACTION (TPS_InHostAsciiWord ),
1803+ TPARSERSTATEACTION (TPS_InHostNumWord ),
17851804 TPARSERSTATEACTION (TPS_InEmail ),
17861805 TPARSERSTATEACTION (TPS_InFileFirst ),
17871806 TPARSERSTATEACTION (TPS_InFileTwiddle ),
0 commit comments