From bce8825086718f35ac486b932714443a0e665751 Mon Sep 17 00:00:00 2001 From: Konstantin Nazarov <mail@racktear.com> Date: Fri, 3 Jun 2016 17:48:03 +0300 Subject: [PATCH] Commit the updated URI parser --- src/uri.c | 1272 +++++++++++++++++++++++++++-------------------------- 1 file changed, 638 insertions(+), 634 deletions(-) diff --git a/src/uri.c b/src/uri.c index eb22f0499f..31cdf758cb 100644 --- a/src/uri.c +++ b/src/uri.c @@ -1,5 +1,5 @@ -#line 1 "../../src/uri.rl" +#line 1 "src/uri.rl" /* * Copyright 2010-2015, Tarantool AUTHORS, please see AUTHORS file. * @@ -48,7 +48,7 @@ uri_parse(struct uri *uri, const char *p) size_t login_len = 0, scheme_len = 0; -#line 50 "../../src/uri.c" +#line 52 "src/uri.c" static const int uri_start = 144; static const int uri_first_final = 144; static const int uri_error = 0; @@ -56,12 +56,12 @@ static const int uri_error = 0; static const int uri_en_main = 144; -#line 58 "../../src/uri.c" +#line 60 "src/uri.c" { cs = uri_start; } -#line 63 "../../src/uri.c" +#line 65 "src/uri.c" { if ( p == pe ) goto _test_eof; @@ -98,16 +98,16 @@ case 144: cs = 0; goto _out; tr150: -#line 137 "../../src/uri.rl" +#line 138 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st145; st145: if ( ++p == pe ) goto _test_eof145; case 145: -#line 109 "../../src/uri.c" +#line 111 "src/uri.c" switch( (*p) ) { case 33: goto st145; case 35: goto tr159; @@ -130,89 +130,88 @@ case 145: goto st145; goto st0; tr151: -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; tr159: -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; tr170: -#line 68 "../../src/uri.rl" +#line 70 "src/uri.rl" { s = p; } -#line 69 "../../src/uri.rl" +#line 71 "src/uri.rl" { uri->query = s; uri->query_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; tr172: -#line 69 "../../src/uri.rl" +#line 71 "src/uri.rl" { uri->query = s; uri->query_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; tr175: -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } -#line 132 "../../src/uri.rl" +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; -tr185: -#line 132 "../../src/uri.rl" +tr186: +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; -tr200: -#line 100 "../../src/uri.rl" +tr201: +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; -tr209: -#line 161 "../../src/uri.rl" +tr210: +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; -tr314: -#line 165 "../../src/uri.rl" +tr316: +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 128 "../../src/uri.rl" +#line 129 "src/uri.rl" { s = p;} -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -224,18 +223,17 @@ case 145: uri->path_len = 0; }; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; -tr318: -#line 165 "../../src/uri.rl" +tr320: +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -247,20 +245,19 @@ case 145: uri->path_len = 0; }; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; -tr323: -#line 161 "../../src/uri.rl" +tr325: +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -272,14 +269,14 @@ case 145: uri->path_len = 0; }; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st146; st146: if ( ++p == pe ) goto _test_eof146; case 146: -#line 281 "../../src/uri.c" +#line 280 "src/uri.c" switch( (*p) ) { case 33: goto tr165; case 37: goto tr166; @@ -297,14 +294,14 @@ case 146: goto tr165; goto st0; tr165: -#line 72 "../../src/uri.rl" +#line 74 "src/uri.rl" { s = p; } goto st147; st147: if ( ++p == pe ) goto _test_eof147; case 147: -#line 306 "../../src/uri.c" +#line 305 "src/uri.c" switch( (*p) ) { case 33: goto st147; case 37: goto st1; @@ -322,14 +319,14 @@ case 147: goto st147; goto st0; tr166: -#line 72 "../../src/uri.rl" +#line 74 "src/uri.rl" { s = p; } goto st1; st1: if ( ++p == pe ) goto _test_eof1; case 1: -#line 331 "../../src/uri.c" +#line 330 "src/uri.c" switch( (*p) ) { case 37: goto st147; case 117: goto st2; @@ -396,16 +393,16 @@ case 5: goto st147; goto st0; tr152: -#line 137 "../../src/uri.rl" +#line 138 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st6; st6: if ( ++p == pe ) goto _test_eof6; case 6: -#line 407 "../../src/uri.c" +#line 406 "src/uri.c" switch( (*p) ) { case 37: goto st145; case 117: goto st7; @@ -472,43 +469,43 @@ case 10: goto st145; goto st0; tr161: -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } goto st148; tr177: -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } -#line 132 "../../src/uri.rl" +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } goto st148; -tr186: -#line 132 "../../src/uri.rl" +tr187: +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } goto st148; -tr201: -#line 100 "../../src/uri.rl" +tr202: +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } goto st148; -tr210: -#line 161 "../../src/uri.rl" +tr211: +#line 162 "src/uri.rl" { s = p; } goto st148; st148: if ( ++p == pe ) goto _test_eof148; case 148: -#line 510 "../../src/uri.c" +#line 509 "src/uri.c" switch( (*p) ) { case 33: goto st148; case 35: goto tr151; @@ -597,75 +594,74 @@ case 15: goto st148; goto st0; tr155: -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; tr163: -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; tr179: -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } -#line 132 "../../src/uri.rl" +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; -tr188: -#line 132 "../../src/uri.rl" +tr189: +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; -tr204: -#line 100 "../../src/uri.rl" +tr205: +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; -tr212: -#line 161 "../../src/uri.rl" +tr213: +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; -tr317: -#line 165 "../../src/uri.rl" +tr319: +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 128 "../../src/uri.rl" +#line 129 "src/uri.rl" { s = p;} -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -677,18 +673,17 @@ case 15: uri->path_len = 0; }; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; -tr320: -#line 165 "../../src/uri.rl" +tr322: +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -700,20 +695,19 @@ case 15: uri->path_len = 0; }; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; -tr325: -#line 161 "../../src/uri.rl" +tr327: +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -725,14 +719,14 @@ case 15: uri->path_len = 0; }; } -#line 185 "../../src/uri.rl" +#line 186 "src/uri.rl" { s = p; } goto st149; st149: if ( ++p == pe ) goto _test_eof149; case 149: -#line 734 "../../src/uri.c" +#line 730 "src/uri.c" switch( (*p) ) { case 33: goto tr169; case 35: goto tr170; @@ -751,14 +745,14 @@ case 149: goto tr169; goto st0; tr169: -#line 68 "../../src/uri.rl" +#line 70 "src/uri.rl" { s = p; } goto st150; st150: if ( ++p == pe ) goto _test_eof150; case 150: -#line 760 "../../src/uri.c" +#line 756 "src/uri.c" switch( (*p) ) { case 33: goto st150; case 35: goto tr172; @@ -777,14 +771,14 @@ case 150: goto st150; goto st0; tr171: -#line 68 "../../src/uri.rl" +#line 70 "src/uri.rl" { s = p; } goto st16; st16: if ( ++p == pe ) goto _test_eof16; case 16: -#line 786 "../../src/uri.c" +#line 782 "src/uri.c" switch( (*p) ) { case 37: goto st150; case 117: goto st17; @@ -851,25 +845,25 @@ case 20: goto st150; goto st0; tr162: -#line 138 "../../src/uri.rl" +#line 139 "src/uri.rl" { login = s; login_len = p - s; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st151; -tr240: -#line 138 "../../src/uri.rl" +tr241: +#line 139 "src/uri.rl" { login = s; login_len = p - s; } -#line 100 "../../src/uri.rl" +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st151; st151: if ( ++p == pe ) goto _test_eof151; case 151: -#line 871 "../../src/uri.c" +#line 867 "src/uri.c" switch( (*p) ) { case 33: goto tr174; case 35: goto tr175; @@ -878,6 +872,7 @@ case 151: case 59: goto tr174; case 61: goto tr174; case 63: goto tr179; + case 64: goto tr180; case 95: goto tr174; case 126: goto tr174; } @@ -887,21 +882,21 @@ case 151: } else if ( (*p) > 57 ) { if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr180; + goto tr181; } else if ( (*p) >= 65 ) - goto tr180; + goto tr181; } else goto tr178; goto st0; tr174: -#line 141 "../../src/uri.rl" +#line 142 "src/uri.rl" { s = p; } goto st21; st21: if ( ++p == pe ) goto _test_eof21; case 21: -#line 903 "../../src/uri.c" +#line 900 "src/uri.c" switch( (*p) ) { case 33: goto st21; case 37: goto st22; @@ -924,14 +919,14 @@ case 21: goto st21; goto st0; tr176: -#line 141 "../../src/uri.rl" +#line 142 "src/uri.rl" { s = p; } goto st22; st22: if ( ++p == pe ) goto _test_eof22; case 22: -#line 933 "../../src/uri.c" +#line 930 "src/uri.c" switch( (*p) ) { case 37: goto st21; case 117: goto st23; @@ -998,22 +993,30 @@ case 26: goto st21; goto st0; tr23: -#line 142 "../../src/uri.rl" +#line 143 "src/uri.rl" { uri->password = s; uri->password_len = p - s; } -#line 146 "../../src/uri.rl" +#line 147 "src/uri.rl" { uri->login = login; uri->login_len = login_len; } goto st27; tr164: -#line 138 "../../src/uri.rl" +#line 139 "src/uri.rl" { login = s; login_len = p - s; } -#line 146 "../../src/uri.rl" +#line 147 "src/uri.rl" + { uri->login = login; uri->login_len = login_len; } + goto st27; +tr180: +#line 142 "src/uri.rl" + { s = p; } +#line 143 "src/uri.rl" + { uri->password = s; uri->password_len = p - s; } +#line 147 "src/uri.rl" { uri->login = login; uri->login_len = login_len; } goto st27; st27: if ( ++p == pe ) goto _test_eof27; case 27: -#line 1015 "../../src/uri.c" +#line 1020 "src/uri.c" switch( (*p) ) { case 33: goto tr28; case 37: goto tr29; @@ -1038,20 +1041,20 @@ case 27: goto tr31; goto st0; tr28: -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st152; st152: if ( ++p == pe ) goto _test_eof152; case 152: -#line 1047 "../../src/uri.c" +#line 1052 "src/uri.c" switch( (*p) ) { case 33: goto st152; case 35: goto tr159; case 37: goto st28; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -1067,14 +1070,14 @@ case 152: goto st152; goto st0; tr29: -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st28; st28: if ( ++p == pe ) goto _test_eof28; case 28: -#line 1076 "../../src/uri.c" +#line 1081 "src/uri.c" switch( (*p) ) { case 37: goto st152; case 117: goto st29; @@ -1140,22 +1143,22 @@ case 32: } else goto st152; goto st0; -tr182: -#line 93 "../../src/uri.rl" +tr183: +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st153; -tr203: -#line 100 "../../src/uri.rl" +tr204: +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st153; st153: if ( ++p == pe ) goto _test_eof153; case 153: -#line 1157 "../../src/uri.c" +#line 1162 "src/uri.c" switch( (*p) ) { case 35: goto tr175; case 47: goto tr177; @@ -1163,43 +1166,43 @@ case 153: } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr183; + goto tr184; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr184; + goto tr185; } else - goto tr184; + goto tr185; goto st0; -tr183: -#line 131 "../../src/uri.rl" +tr184: +#line 132 "src/uri.rl" { s = p; } goto st154; st154: if ( ++p == pe ) goto _test_eof154; case 154: -#line 1180 "../../src/uri.c" +#line 1185 "src/uri.c" switch( (*p) ) { - case 35: goto tr185; - case 47: goto tr186; - case 63: goto tr188; + case 35: goto tr186; + case 47: goto tr187; + case 63: goto tr189; } if ( 48 <= (*p) && (*p) <= 57 ) goto st154; goto st0; -tr184: -#line 131 "../../src/uri.rl" +tr185: +#line 132 "src/uri.rl" { s = p; } goto st155; st155: if ( ++p == pe ) goto _test_eof155; case 155: -#line 1197 "../../src/uri.c" +#line 1202 "src/uri.c" switch( (*p) ) { - case 35: goto tr185; - case 47: goto tr186; - case 63: goto tr188; + case 35: goto tr186; + case 47: goto tr187; + case 63: goto tr189; } if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) @@ -1208,14 +1211,14 @@ case 155: goto st155; goto st0; tr30: -#line 182 "../../src/uri.rl" +#line 183 "src/uri.rl" { s = p; } goto st156; st156: if ( ++p == pe ) goto _test_eof156; case 156: -#line 1217 "../../src/uri.c" +#line 1222 "src/uri.c" switch( (*p) ) { case 33: goto st157; case 37: goto st33; @@ -1325,23 +1328,23 @@ case 37: goto st157; goto st0; tr31: -#line 99 "../../src/uri.rl" +#line 101 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st158; st158: if ( ++p == pe ) goto _test_eof158; case 158: -#line 1336 "../../src/uri.c" +#line 1341 "src/uri.c" switch( (*p) ) { case 33: goto st152; case 35: goto tr159; case 37: goto st28; case 46: goto st159; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1369,7 +1372,7 @@ case 159: case 35: goto tr159; case 37: goto st28; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1398,7 +1401,7 @@ case 160: case 37: goto st28; case 46: goto st161; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1426,7 +1429,7 @@ case 161: case 35: goto tr159; case 37: goto st28; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1455,7 +1458,7 @@ case 162: case 37: goto st28; case 46: goto st163; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1483,7 +1486,7 @@ case 163: case 35: goto tr159; case 37: goto st28; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1508,13 +1511,13 @@ case 163: case 164: switch( (*p) ) { case 33: goto st152; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st28; - case 47: goto tr201; - case 58: goto tr203; + case 47: goto tr202; + case 58: goto tr204; case 59: goto st152; case 61: goto st152; - case 63: goto tr204; + case 63: goto tr205; case 95: goto st152; case 126: goto st152; } @@ -1536,13 +1539,13 @@ case 164: case 165: switch( (*p) ) { case 33: goto st152; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st28; - case 47: goto tr201; - case 58: goto tr203; + case 47: goto tr202; + case 58: goto tr204; case 59: goto st152; case 61: goto st152; - case 63: goto tr204; + case 63: goto tr205; case 95: goto st152; case 126: goto st152; } @@ -1564,12 +1567,12 @@ case 165: case 166: switch( (*p) ) { case 33: goto st152; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st28; - case 47: goto tr201; - case 58: goto tr203; + case 47: goto tr202; + case 58: goto tr204; case 61: goto st152; - case 63: goto tr204; + case 63: goto tr205; case 95: goto st152; case 126: goto st152; } @@ -1592,7 +1595,7 @@ case 167: case 37: goto st28; case 46: goto st163; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1621,7 +1624,7 @@ case 168: case 37: goto st28; case 46: goto st163; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -1646,7 +1649,7 @@ case 169: case 37: goto st28; case 46: goto st161; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1675,7 +1678,7 @@ case 170: case 37: goto st28; case 46: goto st161; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -1700,7 +1703,7 @@ case 171: case 37: goto st28; case 46: goto st159; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 59: goto st152; case 61: goto st152; case 63: goto tr163; @@ -1729,7 +1732,7 @@ case 172: case 37: goto st28; case 46: goto st159; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -1757,14 +1760,14 @@ case 38: goto tr44; goto st0; tr44: -#line 106 "../../src/uri.rl" +#line 108 "src/uri.rl" { s = p; } goto st39; st39: if ( ++p == pe ) goto _test_eof39; case 39: -#line 1766 "../../src/uri.c" +#line 1771 "src/uri.c" if ( (*p) == 58 ) goto st43; if ( (*p) > 57 ) { @@ -2315,7 +2318,7 @@ case 82: goto tr52; goto st0; tr52: -#line 107 "../../src/uri.rl" +#line 109 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 2; } goto st173; @@ -2323,23 +2326,23 @@ case 82: if ( ++p == pe ) goto _test_eof173; case 173: -#line 2325 "../../src/uri.c" +#line 2330 "src/uri.c" switch( (*p) ) { - case 35: goto tr209; - case 47: goto tr210; + case 35: goto tr210; + case 47: goto tr211; case 58: goto st153; - case 63: goto tr212; + case 63: goto tr213; } goto st0; tr45: -#line 106 "../../src/uri.rl" +#line 108 "src/uri.rl" { s = p; } goto st83; st83: if ( ++p == pe ) goto _test_eof83; case 83: -#line 2341 "../../src/uri.c" +#line 2346 "src/uri.c" switch( (*p) ) { case 58: goto st84; case 93: goto tr52; @@ -2568,20 +2571,20 @@ case 103: goto st57; goto st0; tr33: -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st174; st174: if ( ++p == pe ) goto _test_eof174; case 174: -#line 2577 "../../src/uri.c" +#line 2582 "src/uri.c" switch( (*p) ) { case 33: goto st152; case 35: goto tr159; case 37: goto st28; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -2606,7 +2609,7 @@ case 175: case 35: goto tr159; case 37: goto st28; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -2631,7 +2634,7 @@ case 176: case 35: goto tr159; case 37: goto st28; case 47: goto tr161; - case 58: goto tr182; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -2655,8 +2658,8 @@ case 177: case 33: goto st152; case 35: goto tr159; case 37: goto st28; - case 47: goto tr216; - case 58: goto tr182; + case 47: goto tr217; + case 58: goto tr183; case 61: goto st152; case 63: goto tr163; case 95: goto st152; @@ -2671,17 +2674,17 @@ case 177: } else goto st152; goto st0; -tr216: -#line 93 "../../src/uri.rl" +tr217: +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } goto st178; st178: if ( ++p == pe ) goto _test_eof178; case 178: -#line 2683 "../../src/uri.c" +#line 2688 "src/uri.c" switch( (*p) ) { case 33: goto st148; case 35: goto tr151; @@ -2706,40 +2709,40 @@ case 178: goto _test_eof179; case 179: switch( (*p) ) { - case 33: goto tr218; + case 33: goto tr219; case 35: goto tr151; - case 37: goto tr219; - case 47: goto tr220; - case 58: goto tr221; - case 61: goto tr218; + case 37: goto tr220; + case 47: goto tr221; + case 58: goto tr222; + case 61: goto tr219; case 63: goto tr155; - case 95: goto tr218; - case 126: goto tr218; + case 95: goto tr219; + case 126: goto tr219; } if ( (*p) < 64 ) { if ( 36 <= (*p) && (*p) <= 59 ) - goto tr218; + goto tr219; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr218; + goto tr219; } else - goto tr218; + goto tr219; goto st0; -tr218: -#line 128 "../../src/uri.rl" +tr219: +#line 129 "src/uri.rl" { s = p;} goto st180; st180: if ( ++p == pe ) goto _test_eof180; case 180: -#line 2735 "../../src/uri.c" +#line 2740 "src/uri.c" switch( (*p) ) { case 33: goto st180; case 35: goto tr151; case 37: goto st104; case 47: goto st181; - case 58: goto tr223; + case 58: goto tr224; case 61: goto st180; case 63: goto tr155; case 95: goto st180; @@ -2754,15 +2757,15 @@ case 180: } else goto st180; goto st0; -tr219: -#line 128 "../../src/uri.rl" +tr220: +#line 129 "src/uri.rl" { s = p;} goto st104; st104: if ( ++p == pe ) goto _test_eof104; case 104: -#line 2764 "../../src/uri.c" +#line 2769 "src/uri.c" switch( (*p) ) { case 37: goto st180; case 117: goto st105; @@ -2828,24 +2831,24 @@ case 108: } else goto st180; goto st0; -tr226: -#line 161 "../../src/uri.rl" +tr227: +#line 162 "src/uri.rl" { s = p; } goto st181; -tr220: -#line 128 "../../src/uri.rl" +tr221: +#line 129 "src/uri.rl" { s = p;} goto st181; st181: if ( ++p == pe ) goto _test_eof181; case 181: -#line 2842 "../../src/uri.c" +#line 2847 "src/uri.c" switch( (*p) ) { case 33: goto st181; case 35: goto tr151; case 37: goto st109; - case 58: goto tr225; + case 58: goto tr226; case 61: goto st181; case 63: goto tr155; case 95: goto st181; @@ -2929,13 +2932,12 @@ case 113: } else goto st181; goto st0; -tr225: -#line 111 "../../src/uri.rl" +tr226: +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -2952,15 +2954,15 @@ case 113: if ( ++p == pe ) goto _test_eof182; case 182: -#line 2954 "../../src/uri.c" +#line 2958 "src/uri.c" switch( (*p) ) { case 33: goto st181; - case 35: goto tr209; + case 35: goto tr210; case 37: goto st109; - case 47: goto tr226; - case 58: goto tr225; + case 47: goto tr227; + case 58: goto tr226; case 61: goto st181; - case 63: goto tr212; + case 63: goto tr213; case 95: goto st181; case 126: goto st181; } @@ -2973,13 +2975,12 @@ case 182: } else goto st181; goto st0; -tr223: -#line 111 "../../src/uri.rl" +tr224: +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -2992,15 +2993,14 @@ case 182: }; } goto st183; -tr221: -#line 128 "../../src/uri.rl" +tr222: +#line 129 "src/uri.rl" { s = p;} -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -3017,14 +3017,14 @@ case 182: if ( ++p == pe ) goto _test_eof183; case 183: -#line 3019 "../../src/uri.c" +#line 3021 "src/uri.c" switch( (*p) ) { case 33: goto st148; - case 35: goto tr209; + case 35: goto tr210; case 37: goto st11; - case 47: goto tr210; + case 47: goto tr211; case 61: goto st148; - case 63: goto tr212; + case 63: goto tr213; case 95: goto st148; case 126: goto st148; } @@ -3038,24 +3038,24 @@ case 183: goto st148; goto st0; tr178: -#line 141 "../../src/uri.rl" +#line 142 "src/uri.rl" { s = p; } -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } goto st184; st184: if ( ++p == pe ) goto _test_eof184; case 184: -#line 3049 "../../src/uri.c" +#line 3051 "src/uri.c" switch( (*p) ) { case 33: goto st21; - case 35: goto tr185; + case 35: goto tr186; case 37: goto st22; - case 47: goto tr186; + case 47: goto tr187; case 59: goto st21; case 61: goto st21; - case 63: goto tr188; + case 63: goto tr189; case 64: goto tr23; case 95: goto st21; case 126: goto st21; @@ -3072,25 +3072,25 @@ case 184: } else goto st184; goto st0; -tr180: -#line 141 "../../src/uri.rl" +tr181: +#line 142 "src/uri.rl" { s = p; } -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } goto st185; st185: if ( ++p == pe ) goto _test_eof185; case 185: -#line 3084 "../../src/uri.c" +#line 3086 "src/uri.c" switch( (*p) ) { case 33: goto st21; - case 35: goto tr185; + case 35: goto tr186; case 37: goto st22; - case 47: goto tr186; + case 47: goto tr187; case 59: goto st21; case 61: goto st21; - case 63: goto tr188; + case 63: goto tr189; case 64: goto tr23; case 95: goto st21; case 126: goto st21; @@ -3105,14 +3105,14 @@ case 185: goto st185; goto st0; tr153: -#line 182 "../../src/uri.rl" +#line 183 "src/uri.rl" { s = p; } goto st186; st186: if ( ++p == pe ) goto _test_eof186; case 186: -#line 3114 "../../src/uri.c" +#line 3116 "src/uri.c" switch( (*p) ) { case 33: goto st187; case 35: goto tr151; @@ -3226,20 +3226,20 @@ case 118: goto st187; goto st0; tr154: -#line 137 "../../src/uri.rl" +#line 138 "src/uri.rl" { s = p; } -#line 99 "../../src/uri.rl" +#line 101 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } -#line 178 "../../src/uri.rl" +#line 179 "src/uri.rl" { uri->service = p; } goto st188; st188: if ( ++p == pe ) goto _test_eof188; case 188: -#line 3241 "../../src/uri.c" +#line 3243 "src/uri.c" switch( (*p) ) { case 33: goto st145; case 35: goto tr159; @@ -3419,13 +3419,13 @@ case 193: case 194: switch( (*p) ) { case 33: goto st145; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st6; - case 47: goto tr201; - case 58: goto tr240; + case 47: goto tr202; + case 58: goto tr241; case 59: goto st145; case 61: goto st145; - case 63: goto tr204; + case 63: goto tr205; case 64: goto tr164; case 95: goto st145; case 126: goto st145; @@ -3448,13 +3448,13 @@ case 194: case 195: switch( (*p) ) { case 33: goto st145; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st6; - case 47: goto tr201; - case 58: goto tr240; + case 47: goto tr202; + case 58: goto tr241; case 59: goto st145; case 61: goto st145; - case 63: goto tr204; + case 63: goto tr205; case 64: goto tr164; case 95: goto st145; case 126: goto st145; @@ -3477,12 +3477,12 @@ case 195: case 196: switch( (*p) ) { case 33: goto st145; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st6; - case 47: goto tr201; - case 58: goto tr240; + case 47: goto tr202; + case 58: goto tr241; case 61: goto st145; - case 63: goto tr204; + case 63: goto tr205; case 64: goto tr164; case 95: goto st145; case 126: goto st145; @@ -3708,25 +3708,25 @@ case 204: } goto st0; tr157: -#line 151 "../../src/uri.rl" +#line 152 "src/uri.rl" { s = p; } -#line 137 "../../src/uri.rl" +#line 138 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st205; st205: if ( ++p == pe ) goto _test_eof205; case 205: -#line 3721 "../../src/uri.c" +#line 3723 "src/uri.c" switch( (*p) ) { case 33: goto st145; case 35: goto tr159; case 37: goto st6; case 43: goto st205; case 47: goto tr161; - case 58: goto tr247; + case 58: goto tr248; case 59: goto st145; case 61: goto st145; case 63: goto tr163; @@ -3746,27 +3746,28 @@ case 205: } else goto st205; goto st0; -tr247: -#line 153 "../../src/uri.rl" +tr248: +#line 154 "src/uri.rl" {scheme = s; scheme_len = p - s; } -#line 138 "../../src/uri.rl" +#line 139 "src/uri.rl" { login = s; login_len = p - s; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st206; st206: if ( ++p == pe ) goto _test_eof206; case 206: -#line 3760 "../../src/uri.c" +#line 3762 "src/uri.c" switch( (*p) ) { case 33: goto tr174; case 35: goto tr175; case 37: goto tr176; - case 47: goto tr248; + case 47: goto tr249; case 59: goto tr174; case 61: goto tr174; case 63: goto tr179; + case 64: goto tr180; case 95: goto tr174; case 126: goto tr174; } @@ -3776,27 +3777,27 @@ case 206: } else if ( (*p) > 57 ) { if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr180; + goto tr181; } else if ( (*p) >= 65 ) - goto tr180; + goto tr181; } else goto tr178; goto st0; -tr248: -#line 169 "../../src/uri.rl" +tr249: +#line 170 "src/uri.rl" { uri->scheme = scheme; uri->scheme_len = scheme_len;} -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } -#line 132 "../../src/uri.rl" +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } goto st207; st207: if ( ++p == pe ) goto _test_eof207; case 207: -#line 3798 "../../src/uri.c" +#line 3801 "src/uri.c" switch( (*p) ) { case 33: goto st148; case 35: goto tr151; @@ -3821,52 +3822,52 @@ case 207: goto _test_eof208; case 208: switch( (*p) ) { - case 33: goto tr250; + case 33: goto tr251; case 35: goto tr151; - case 37: goto tr251; + case 37: goto tr252; case 47: goto st148; case 58: goto st148; - case 59: goto tr250; - case 61: goto tr250; + case 59: goto tr251; + case 61: goto tr251; case 63: goto tr155; case 64: goto st148; case 91: goto st38; - case 95: goto tr250; - case 117: goto tr253; - case 126: goto tr250; + case 95: goto tr251; + case 117: goto tr254; + case 126: goto tr251; } if ( (*p) < 48 ) { if ( 36 <= (*p) && (*p) <= 46 ) - goto tr250; + goto tr251; } else if ( (*p) > 57 ) { if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr250; + goto tr251; } else if ( (*p) >= 65 ) - goto tr250; + goto tr251; } else - goto tr252; + goto tr253; goto st0; -tr250: -#line 137 "../../src/uri.rl" +tr251: +#line 138 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st209; st209: if ( ++p == pe ) goto _test_eof209; case 209: -#line 3859 "../../src/uri.c" +#line 3862 "src/uri.c" switch( (*p) ) { case 33: goto st209; case 35: goto tr159; case 37: goto st119; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -3879,17 +3880,17 @@ case 209: } else goto st209; goto st0; -tr251: -#line 137 "../../src/uri.rl" +tr252: +#line 138 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st119; st119: if ( ++p == pe ) goto _test_eof119; case 119: -#line 3891 "../../src/uri.c" +#line 3894 "src/uri.c" switch( (*p) ) { case 37: goto st209; case 117: goto st120; @@ -3955,60 +3956,60 @@ case 123: } else goto st209; goto st0; -tr255: -#line 138 "../../src/uri.rl" +tr256: +#line 139 "src/uri.rl" { login = s; login_len = p - s; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st210; -tr303: -#line 138 "../../src/uri.rl" +tr305: +#line 139 "src/uri.rl" { login = s; login_len = p - s; } -#line 100 "../../src/uri.rl" +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st210; st210: if ( ++p == pe ) goto _test_eof210; case 210: -#line 3976 "../../src/uri.c" +#line 3979 "src/uri.c" switch( (*p) ) { - case 33: goto tr257; + case 33: goto tr258; case 35: goto tr175; - case 37: goto tr258; + case 37: goto tr259; case 47: goto tr177; case 58: goto st148; - case 59: goto tr257; - case 61: goto tr257; + case 59: goto tr258; + case 61: goto tr258; case 63: goto tr179; - case 64: goto st148; - case 95: goto tr257; - case 126: goto tr257; + case 64: goto tr261; + case 95: goto tr258; + case 126: goto tr258; } if ( (*p) < 48 ) { if ( 36 <= (*p) && (*p) <= 46 ) - goto tr257; + goto tr258; } else if ( (*p) > 57 ) { if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr260; + goto tr262; } else if ( (*p) >= 65 ) - goto tr260; + goto tr262; } else - goto tr259; + goto tr260; goto st0; -tr257: -#line 141 "../../src/uri.rl" +tr258: +#line 142 "src/uri.rl" { s = p; } goto st211; st211: if ( ++p == pe ) goto _test_eof211; case 211: -#line 4010 "../../src/uri.c" +#line 4013 "src/uri.c" switch( (*p) ) { case 33: goto st211; case 35: goto tr151; @@ -4017,7 +4018,7 @@ case 211: case 58: goto st148; case 61: goto st211; case 63: goto tr155; - case 64: goto tr262; + case 64: goto tr264; case 95: goto st211; case 126: goto st211; } @@ -4030,15 +4031,15 @@ case 211: } else goto st211; goto st0; -tr258: -#line 141 "../../src/uri.rl" +tr259: +#line 142 "src/uri.rl" { s = p; } goto st124; st124: if ( ++p == pe ) goto _test_eof124; case 124: -#line 4040 "../../src/uri.c" +#line 4043 "src/uri.c" switch( (*p) ) { case 37: goto st211; case 117: goto st125; @@ -4104,65 +4105,73 @@ case 128: } else goto st211; goto st0; -tr262: -#line 142 "../../src/uri.rl" +tr264: +#line 143 "src/uri.rl" { uri->password = s; uri->password_len = p - s; } -#line 146 "../../src/uri.rl" +#line 147 "src/uri.rl" { uri->login = login; uri->login_len = login_len; } goto st212; -tr256: -#line 138 "../../src/uri.rl" +tr257: +#line 139 "src/uri.rl" { login = s; login_len = p - s; } -#line 146 "../../src/uri.rl" +#line 147 "src/uri.rl" + { uri->login = login; uri->login_len = login_len; } + goto st212; +tr261: +#line 142 "src/uri.rl" + { s = p; } +#line 143 "src/uri.rl" + { uri->password = s; uri->password_len = p - s; } +#line 147 "src/uri.rl" { uri->login = login; uri->login_len = login_len; } goto st212; st212: if ( ++p == pe ) goto _test_eof212; case 212: -#line 4122 "../../src/uri.c" +#line 4133 "src/uri.c" switch( (*p) ) { - case 33: goto tr263; + case 33: goto tr265; case 35: goto tr151; - case 37: goto tr264; + case 37: goto tr266; case 47: goto st148; case 58: goto st148; - case 59: goto tr263; - case 61: goto tr263; + case 59: goto tr265; + case 61: goto tr265; case 63: goto tr155; case 64: goto st148; case 91: goto st38; - case 95: goto tr263; - case 117: goto tr266; - case 126: goto tr263; + case 95: goto tr265; + case 117: goto tr268; + case 126: goto tr265; } if ( (*p) < 48 ) { if ( 36 <= (*p) && (*p) <= 46 ) - goto tr263; + goto tr265; } else if ( (*p) > 57 ) { if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr263; + goto tr265; } else if ( (*p) >= 65 ) - goto tr263; + goto tr265; } else - goto tr265; + goto tr267; goto st0; -tr263: -#line 92 "../../src/uri.rl" +tr265: +#line 94 "src/uri.rl" { s = p; } goto st213; st213: if ( ++p == pe ) goto _test_eof213; case 213: -#line 4158 "../../src/uri.c" +#line 4169 "src/uri.c" switch( (*p) ) { case 33: goto st213; case 35: goto tr159; case 37: goto st129; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4178,15 +4187,15 @@ case 213: } else goto st213; goto st0; -tr264: -#line 92 "../../src/uri.rl" +tr266: +#line 94 "src/uri.rl" { s = p; } goto st129; st129: if ( ++p == pe ) goto _test_eof129; case 129: -#line 4188 "../../src/uri.c" +#line 4199 "src/uri.c" switch( (*p) ) { case 37: goto st213; case 117: goto st130; @@ -4252,22 +4261,22 @@ case 133: } else goto st213; goto st0; -tr268: -#line 93 "../../src/uri.rl" +tr270: +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st214; -tr283: -#line 100 "../../src/uri.rl" +tr285: +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} goto st214; st214: if ( ++p == pe ) goto _test_eof214; case 214: -#line 4269 "../../src/uri.c" +#line 4280 "src/uri.c" switch( (*p) ) { case 33: goto st148; case 35: goto tr175; @@ -4282,34 +4291,34 @@ case 214: if ( (*p) < 58 ) { if ( (*p) > 46 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr269; + goto tr271; } else if ( (*p) >= 36 ) goto st148; } else if ( (*p) > 59 ) { if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr270; + goto tr272; } else if ( (*p) >= 65 ) - goto tr270; + goto tr272; } else goto st148; goto st0; -tr269: -#line 131 "../../src/uri.rl" +tr271: +#line 132 "src/uri.rl" { s = p; } goto st215; st215: if ( ++p == pe ) goto _test_eof215; case 215: -#line 4304 "../../src/uri.c" +#line 4315 "src/uri.c" switch( (*p) ) { case 33: goto st148; - case 35: goto tr185; + case 35: goto tr186; case 37: goto st11; - case 47: goto tr186; + case 47: goto tr187; case 61: goto st148; - case 63: goto tr188; + case 63: goto tr189; case 95: goto st148; case 126: goto st148; } @@ -4328,22 +4337,22 @@ case 215: } else goto st148; goto st0; -tr270: -#line 131 "../../src/uri.rl" +tr272: +#line 132 "src/uri.rl" { s = p; } goto st216; st216: if ( ++p == pe ) goto _test_eof216; case 216: -#line 4338 "../../src/uri.c" +#line 4349 "src/uri.c" switch( (*p) ) { case 33: goto st148; - case 35: goto tr185; + case 35: goto tr186; case 37: goto st11; - case 47: goto tr186; + case 47: goto tr187; case 61: goto st148; - case 63: goto tr188; + case 63: goto tr189; case 64: goto st148; case 95: goto st148; case 126: goto st148; @@ -4357,24 +4366,24 @@ case 216: } else goto st216; goto st0; -tr265: -#line 99 "../../src/uri.rl" +tr267: +#line 101 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st217; st217: if ( ++p == pe ) goto _test_eof217; case 217: -#line 4369 "../../src/uri.c" +#line 4380 "src/uri.c" switch( (*p) ) { case 33: goto st213; case 35: goto tr159; case 37: goto st129; case 46: goto st218; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4403,7 +4412,7 @@ case 218: case 35: goto tr159; case 37: goto st129; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4433,7 +4442,7 @@ case 219: case 37: goto st129; case 46: goto st220; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4462,7 +4471,7 @@ case 220: case 35: goto tr159; case 37: goto st129; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4492,7 +4501,7 @@ case 221: case 37: goto st129; case 46: goto st222; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4521,7 +4530,7 @@ case 222: case 35: goto tr159; case 37: goto st129; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4547,13 +4556,13 @@ case 222: case 223: switch( (*p) ) { case 33: goto st213; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st129; - case 47: goto tr201; - case 58: goto tr283; + case 47: goto tr202; + case 58: goto tr285; case 59: goto st213; case 61: goto st213; - case 63: goto tr204; + case 63: goto tr205; case 64: goto st148; case 95: goto st213; case 126: goto st213; @@ -4576,13 +4585,13 @@ case 223: case 224: switch( (*p) ) { case 33: goto st213; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st129; - case 47: goto tr201; - case 58: goto tr283; + case 47: goto tr202; + case 58: goto tr285; case 59: goto st213; case 61: goto st213; - case 63: goto tr204; + case 63: goto tr205; case 64: goto st148; case 95: goto st213; case 126: goto st213; @@ -4605,12 +4614,12 @@ case 224: case 225: switch( (*p) ) { case 33: goto st213; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st129; - case 47: goto tr201; - case 58: goto tr283; + case 47: goto tr202; + case 58: goto tr285; case 61: goto st213; - case 63: goto tr204; + case 63: goto tr205; case 64: goto st148; case 95: goto st213; case 126: goto st213; @@ -4634,7 +4643,7 @@ case 226: case 37: goto st129; case 46: goto st222; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4664,7 +4673,7 @@ case 227: case 37: goto st129; case 46: goto st222; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4690,7 +4699,7 @@ case 228: case 37: goto st129; case 46: goto st220; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4720,7 +4729,7 @@ case 229: case 37: goto st129; case 46: goto st220; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4746,7 +4755,7 @@ case 230: case 37: goto st129; case 46: goto st218; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 59: goto st213; case 61: goto st213; case 63: goto tr163; @@ -4776,7 +4785,7 @@ case 231: case 37: goto st129; case 46: goto st218; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4792,21 +4801,21 @@ case 231: } else goto st213; goto st0; -tr266: -#line 92 "../../src/uri.rl" +tr268: +#line 94 "src/uri.rl" { s = p; } goto st232; st232: if ( ++p == pe ) goto _test_eof232; case 232: -#line 4802 "../../src/uri.c" +#line 4813 "src/uri.c" switch( (*p) ) { case 33: goto st213; case 35: goto tr159; case 37: goto st129; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4832,7 +4841,7 @@ case 233: case 35: goto tr159; case 37: goto st129; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4858,7 +4867,7 @@ case 234: case 35: goto tr159; case 37: goto st129; case 47: goto tr161; - case 58: goto tr268; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4883,8 +4892,8 @@ case 235: case 33: goto st213; case 35: goto tr159; case 37: goto st129; - case 47: goto tr216; - case 58: goto tr268; + case 47: goto tr217; + case 58: goto tr270; case 61: goto st213; case 63: goto tr163; case 64: goto st148; @@ -4900,27 +4909,27 @@ case 235: } else goto st213; goto st0; -tr259: -#line 141 "../../src/uri.rl" +tr260: +#line 142 "src/uri.rl" { s = p; } -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } goto st236; st236: if ( ++p == pe ) goto _test_eof236; case 236: -#line 4912 "../../src/uri.c" +#line 4923 "src/uri.c" switch( (*p) ) { case 33: goto st211; - case 35: goto tr185; + case 35: goto tr186; case 37: goto st124; - case 47: goto tr186; + case 47: goto tr187; case 58: goto st148; case 59: goto st211; case 61: goto st211; - case 63: goto tr188; - case 64: goto tr262; + case 63: goto tr189; + case 64: goto tr264; case 95: goto st211; case 126: goto st211; } @@ -4936,26 +4945,26 @@ case 236: } else goto st236; goto st0; -tr260: -#line 141 "../../src/uri.rl" +tr262: +#line 142 "src/uri.rl" { s = p; } -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } goto st237; st237: if ( ++p == pe ) goto _test_eof237; case 237: -#line 4948 "../../src/uri.c" +#line 4959 "src/uri.c" switch( (*p) ) { case 33: goto st211; - case 35: goto tr185; + case 35: goto tr186; case 37: goto st124; - case 47: goto tr186; + case 47: goto tr187; case 58: goto st148; case 61: goto st211; - case 63: goto tr188; - case 64: goto tr262; + case 63: goto tr189; + case 64: goto tr264; case 95: goto st211; case 126: goto st211; } @@ -4968,30 +4977,30 @@ case 237: } else goto st237; goto st0; -tr252: -#line 137 "../../src/uri.rl" +tr253: +#line 138 "src/uri.rl" { s = p; } -#line 99 "../../src/uri.rl" +#line 101 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st238; st238: if ( ++p == pe ) goto _test_eof238; case 238: -#line 4982 "../../src/uri.c" +#line 4993 "src/uri.c" switch( (*p) ) { case 33: goto st209; case 35: goto tr159; case 37: goto st119; case 46: goto st239; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5016,11 +5025,11 @@ case 239: case 35: goto tr159; case 37: goto st119; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5046,11 +5055,11 @@ case 240: case 37: goto st119; case 46: goto st241; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5075,11 +5084,11 @@ case 241: case 35: goto tr159; case 37: goto st119; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5105,11 +5114,11 @@ case 242: case 37: goto st119; case 46: goto st243; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5134,11 +5143,11 @@ case 243: case 35: goto tr159; case 37: goto st119; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5160,14 +5169,14 @@ case 243: case 244: switch( (*p) ) { case 33: goto st209; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st119; - case 47: goto tr201; - case 58: goto tr303; + case 47: goto tr202; + case 58: goto tr305; case 59: goto st209; case 61: goto st209; - case 63: goto tr204; - case 64: goto tr256; + case 63: goto tr205; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5189,14 +5198,14 @@ case 244: case 245: switch( (*p) ) { case 33: goto st209; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st119; - case 47: goto tr201; - case 58: goto tr303; + case 47: goto tr202; + case 58: goto tr305; case 59: goto st209; case 61: goto st209; - case 63: goto tr204; - case 64: goto tr256; + case 63: goto tr205; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5218,13 +5227,13 @@ case 245: case 246: switch( (*p) ) { case 33: goto st209; - case 35: goto tr200; + case 35: goto tr201; case 37: goto st119; - case 47: goto tr201; - case 58: goto tr303; + case 47: goto tr202; + case 58: goto tr305; case 61: goto st209; - case 63: goto tr204; - case 64: goto tr256; + case 63: goto tr205; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5247,11 +5256,11 @@ case 247: case 37: goto st119; case 46: goto st243; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5277,10 +5286,10 @@ case 248: case 37: goto st119; case 46: goto st243; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5303,11 +5312,11 @@ case 249: case 37: goto st119; case 46: goto st241; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5333,10 +5342,10 @@ case 250: case 37: goto st119; case 46: goto st241; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5359,11 +5368,11 @@ case 251: case 37: goto st119; case 46: goto st239; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 59: goto st209; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5389,10 +5398,10 @@ case 252: case 37: goto st119; case 46: goto st239; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5405,26 +5414,26 @@ case 252: } else goto st209; goto st0; -tr253: -#line 137 "../../src/uri.rl" +tr254: +#line 138 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st253; st253: if ( ++p == pe ) goto _test_eof253; case 253: -#line 5417 "../../src/uri.c" +#line 5428 "src/uri.c" switch( (*p) ) { case 33: goto st209; case 35: goto tr159; case 37: goto st119; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 110: goto st254; case 126: goto st209; @@ -5447,10 +5456,10 @@ case 254: case 35: goto tr159; case 37: goto st119; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 105: goto st255; case 126: goto st209; @@ -5473,10 +5482,10 @@ case 255: case 35: goto tr159; case 37: goto st119; case 47: goto tr161; - case 58: goto tr255; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 120: goto st256; case 126: goto st209; @@ -5498,11 +5507,11 @@ case 256: case 33: goto st209; case 35: goto tr159; case 37: goto st119; - case 47: goto tr311; - case 58: goto tr255; + case 47: goto tr313; + case 58: goto tr256; case 61: goto st209; case 63: goto tr163; - case 64: goto tr256; + case 64: goto tr257; case 95: goto st209; case 126: goto st209; } @@ -5515,17 +5524,17 @@ case 256: } else goto st209; goto st0; -tr311: -#line 93 "../../src/uri.rl" +tr313: +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } goto st257; st257: if ( ++p == pe ) goto _test_eof257; case 257: -#line 5527 "../../src/uri.c" +#line 5538 "src/uri.c" switch( (*p) ) { case 33: goto st148; case 35: goto tr151; @@ -5550,42 +5559,42 @@ case 257: goto _test_eof258; case 258: switch( (*p) ) { - case 33: goto tr313; - case 35: goto tr314; - case 37: goto tr315; - case 47: goto tr316; - case 58: goto tr221; - case 61: goto tr313; - case 63: goto tr317; - case 95: goto tr313; - case 126: goto tr313; + case 33: goto tr315; + case 35: goto tr316; + case 37: goto tr317; + case 47: goto tr318; + case 58: goto tr222; + case 61: goto tr315; + case 63: goto tr319; + case 95: goto tr315; + case 126: goto tr315; } if ( (*p) < 64 ) { if ( 36 <= (*p) && (*p) <= 59 ) - goto tr313; + goto tr315; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr313; + goto tr315; } else - goto tr313; + goto tr315; goto st0; -tr313: -#line 128 "../../src/uri.rl" +tr315: +#line 129 "src/uri.rl" { s = p;} goto st259; st259: if ( ++p == pe ) goto _test_eof259; case 259: -#line 5579 "../../src/uri.c" +#line 5590 "src/uri.c" switch( (*p) ) { case 33: goto st259; - case 35: goto tr318; + case 35: goto tr320; case 37: goto st134; case 47: goto st260; - case 58: goto tr223; + case 58: goto tr224; case 61: goto st259; - case 63: goto tr320; + case 63: goto tr322; case 95: goto st259; case 126: goto st259; } @@ -5598,15 +5607,15 @@ case 259: } else goto st259; goto st0; -tr315: -#line 128 "../../src/uri.rl" +tr317: +#line 129 "src/uri.rl" { s = p;} goto st134; st134: if ( ++p == pe ) goto _test_eof134; case 134: -#line 5608 "../../src/uri.c" +#line 5619 "src/uri.c" switch( (*p) ) { case 37: goto st259; case 117: goto st135; @@ -5672,26 +5681,26 @@ case 138: } else goto st259; goto st0; -tr324: -#line 161 "../../src/uri.rl" +tr326: +#line 162 "src/uri.rl" { s = p; } goto st260; -tr316: -#line 128 "../../src/uri.rl" +tr318: +#line 129 "src/uri.rl" { s = p;} goto st260; st260: if ( ++p == pe ) goto _test_eof260; case 260: -#line 5686 "../../src/uri.c" +#line 5697 "src/uri.c" switch( (*p) ) { case 33: goto st260; - case 35: goto tr318; + case 35: goto tr320; case 37: goto st139; - case 58: goto tr322; + case 58: goto tr324; case 61: goto st260; - case 63: goto tr320; + case 63: goto tr322; case 95: goto st260; case 126: goto st260; } @@ -5773,13 +5782,12 @@ case 143: } else goto st260; goto st0; -tr322: -#line 111 "../../src/uri.rl" +tr324: +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -5796,15 +5804,15 @@ case 143: if ( ++p == pe ) goto _test_eof261; case 261: -#line 5798 "../../src/uri.c" +#line 5808 "src/uri.c" switch( (*p) ) { case 33: goto st260; - case 35: goto tr323; + case 35: goto tr325; case 37: goto st139; - case 47: goto tr324; - case 58: goto tr322; + case 47: goto tr326; + case 58: goto tr324; case 61: goto st260; - case 63: goto tr325; + case 63: goto tr327; case 95: goto st260; case 126: goto st260; } @@ -5818,25 +5826,25 @@ case 261: goto st260; goto st0; tr158: -#line 151 "../../src/uri.rl" +#line 152 "src/uri.rl" { s = p; } -#line 137 "../../src/uri.rl" +#line 138 "src/uri.rl" { s = p; } -#line 92 "../../src/uri.rl" +#line 94 "src/uri.rl" { s = p; } goto st262; st262: if ( ++p == pe ) goto _test_eof262; case 262: -#line 5831 "../../src/uri.c" +#line 5841 "src/uri.c" switch( (*p) ) { case 33: goto st145; case 35: goto tr159; case 37: goto st6; case 43: goto st205; case 47: goto tr161; - case 58: goto tr247; + case 58: goto tr248; case 59: goto st145; case 61: goto st145; case 63: goto tr163; @@ -5867,7 +5875,7 @@ case 263: case 37: goto st6; case 43: goto st205; case 47: goto tr161; - case 58: goto tr247; + case 58: goto tr248; case 59: goto st145; case 61: goto st145; case 63: goto tr163; @@ -5898,7 +5906,7 @@ case 264: case 37: goto st6; case 43: goto st205; case 47: goto tr161; - case 58: goto tr247; + case 58: goto tr248; case 59: goto st145; case 61: goto st145; case 63: goto tr163; @@ -5928,8 +5936,8 @@ case 265: case 35: goto tr159; case 37: goto st6; case 43: goto st205; - case 47: goto tr311; - case 58: goto tr247; + case 47: goto tr313; + case 58: goto tr248; case 59: goto st145; case 61: goto st145; case 63: goto tr163; @@ -6220,21 +6228,20 @@ case 265: { switch ( cs ) { case 150: -#line 69 "../../src/uri.rl" +#line 71 "src/uri.rl" { uri->query = s; uri->query_len = p - s; } break; case 147: -#line 73 "../../src/uri.rl" +#line 75 "src/uri.rl" { uri->fragment = s; uri->fragment_len = p - s; } break; case 156: case 157: -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -6259,41 +6266,40 @@ case 265: case 211: case 212: case 257: -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } break; case 149: -#line 68 "../../src/uri.rl" +#line 70 "src/uri.rl" { s = p; } -#line 69 "../../src/uri.rl" +#line 71 "src/uri.rl" { uri->query = s; uri->query_len = p - s; } break; case 146: -#line 72 "../../src/uri.rl" +#line 74 "src/uri.rl" { s = p; } -#line 73 "../../src/uri.rl" +#line 75 "src/uri.rl" { uri->fragment = s; uri->fragment_len = p - s; } break; case 173: case 182: case 183: -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } break; case 186: case 187: case 259: case 260: -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -6372,11 +6378,11 @@ case 265: case 263: case 264: case 265: -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } break; case 154: @@ -6387,24 +6393,23 @@ case 265: case 216: case 236: case 237: -#line 132 "../../src/uri.rl" +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } break; case 261: -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -6418,16 +6423,15 @@ case 265: } break; case 258: -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 128 "../../src/uri.rl" +#line 129 "src/uri.rl" { s = p;} -#line 111 "../../src/uri.rl" +#line 113 "src/uri.rl" { /* - * This action is also called for path_* terminals. - * I absolute have no idea why. Please don't blame - * and fix grammar if you have a LOT of free time. + * This action is also called for path_* terms. + * I absolutely have no idea why. */ if (uri->host_hint != 3) { uri->host_hint = 3; @@ -6444,13 +6448,13 @@ case 265: case 201: case 202: case 203: -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } -#line 179 "../../src/uri.rl" +#line 180 "src/uri.rl" { uri->service_len = p - uri->service; uri->host = NULL; uri->host_len = 0; } break; @@ -6466,14 +6470,14 @@ case 265: case 244: case 245: case 246: -#line 100 "../../src/uri.rl" +#line 102 "src/uri.rl" { uri->host = s; uri->host_len = p - s; uri->host_hint = 1; } -#line 93 "../../src/uri.rl" +#line 95 "src/uri.rl" { uri->host = s; uri->host_len = p - s;} -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } break; case 151: @@ -6481,23 +6485,23 @@ case 265: case 206: case 210: case 214: -#line 131 "../../src/uri.rl" +#line 132 "src/uri.rl" { s = p; } -#line 132 "../../src/uri.rl" +#line 133 "src/uri.rl" { uri->service = s; uri->service_len = p - s; } -#line 161 "../../src/uri.rl" +#line 162 "src/uri.rl" { s = p; } -#line 165 "../../src/uri.rl" +#line 166 "src/uri.rl" { uri->path = s; uri->path_len = p - s; } break; -#line 6492 "../../src/uri.c" +#line 6498 "src/uri.c" } } _out: {} } -#line 192 "../../src/uri.rl" +#line 193 "src/uri.rl" if (uri->path_len == 0) -- GitLab