1
- /* auto-generated on 2023-05-16 13:48:47 -0400. Do not edit! */
1
+ /* auto-generated on 2023-05-19 00:02:33 -0400. Do not edit! */
2
2
/* begin file src/ada.cpp */
3
3
#include "ada.h"
4
4
/* begin file src/checkers.cpp */
@@ -10001,8 +10001,9 @@ static_assert(sizeof(is_forbidden_domain_code_point_table_or_upper) == 256);
10001
10001
static_assert(is_forbidden_domain_code_point_table_or_upper[uint8_t('A')] == 2);
10002
10002
static_assert(is_forbidden_domain_code_point_table_or_upper[uint8_t('Z')] == 2);
10003
10003
10004
- ada_really_inline constexpr bool contains_forbidden_domain_code_point_or_upper(
10005
- const char* input, size_t length) noexcept {
10004
+ ada_really_inline constexpr uint8_t
10005
+ contains_forbidden_domain_code_point_or_upper(const char* input,
10006
+ size_t length) noexcept {
10006
10007
size_t i = 0;
10007
10008
uint8_t accumulator{};
10008
10009
for (; i + 4 <= length; i += 4) {
@@ -10677,7 +10678,7 @@ ada_really_inline size_t find_next_host_delimiter_special(
10677
10678
has_zero_byte(xor3) | has_zero_byte(xor4) |
10678
10679
has_zero_byte(xor5);
10679
10680
if (is_match) {
10680
- return i + index_of_first_set_byte(is_match);
10681
+ return size_t( i + index_of_first_set_byte(is_match) );
10681
10682
}
10682
10683
}
10683
10684
if (i < view.size()) {
@@ -10695,7 +10696,7 @@ ada_really_inline size_t find_next_host_delimiter_special(
10695
10696
has_zero_byte(xor3) | has_zero_byte(xor4) |
10696
10697
has_zero_byte(xor5);
10697
10698
if (is_match) {
10698
- return i + index_of_first_set_byte(is_match);
10699
+ return size_t( i + index_of_first_set_byte(is_match) );
10699
10700
}
10700
10701
}
10701
10702
return view.size();
@@ -10739,7 +10740,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view,
10739
10740
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
10740
10741
has_zero_byte(xor4) | has_zero_byte(xor5);
10741
10742
if (is_match) {
10742
- return i + index_of_first_set_byte(is_match);
10743
+ return size_t( i + index_of_first_set_byte(is_match) );
10743
10744
}
10744
10745
}
10745
10746
if (i < view.size()) {
@@ -10757,7 +10758,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view,
10757
10758
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
10758
10759
has_zero_byte(xor4) | has_zero_byte(xor5);
10759
10760
if (is_match) {
10760
- return i + index_of_first_set_byte(is_match);
10761
+ return size_t( i + index_of_first_set_byte(is_match) );
10761
10762
}
10762
10763
}
10763
10764
return view.size();
@@ -11064,7 +11065,7 @@ find_authority_delimiter_special(std::string_view view) noexcept {
11064
11065
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
11065
11066
has_zero_byte(xor3) | has_zero_byte(xor4);
11066
11067
if (is_match) {
11067
- return i + index_of_first_set_byte(is_match);
11068
+ return size_t( i + index_of_first_set_byte(is_match) );
11068
11069
}
11069
11070
}
11070
11071
@@ -11079,7 +11080,7 @@ find_authority_delimiter_special(std::string_view view) noexcept {
11079
11080
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
11080
11081
has_zero_byte(xor3) | has_zero_byte(xor4);
11081
11082
if (is_match) {
11082
- return i + index_of_first_set_byte(is_match);
11083
+ return size_t( i + index_of_first_set_byte(is_match) );
11083
11084
}
11084
11085
}
11085
11086
@@ -11112,7 +11113,7 @@ find_authority_delimiter(std::string_view view) noexcept {
11112
11113
uint64_t is_match =
11113
11114
has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3);
11114
11115
if (is_match) {
11115
- return i + index_of_first_set_byte(is_match);
11116
+ return size_t( i + index_of_first_set_byte(is_match) );
11116
11117
}
11117
11118
}
11118
11119
@@ -11126,7 +11127,7 @@ find_authority_delimiter(std::string_view view) noexcept {
11126
11127
uint64_t is_match =
11127
11128
has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3);
11128
11129
if (is_match) {
11129
- return i + index_of_first_set_byte(is_match);
11130
+ return size_t( i + index_of_first_set_byte(is_match) );
11130
11131
}
11131
11132
}
11132
11133
@@ -12088,8 +12089,7 @@ result_type parse_url(std::string_view user_input,
12088
12089
12089
12090
// We refuse to parse URL strings that exceed 4GB. Such strings are almost
12090
12091
// surely the result of a bug or are otherwise a security concern.
12091
- if (user_input.size() >=
12092
- std::string_view::size_type(std::numeric_limits<uint32_t>::max)) {
12092
+ if (user_input.size() > std::numeric_limits<uint32_t>::max()) {
12093
12093
url.is_valid = false;
12094
12094
}
12095
12095
// Going forward, user_input.size() is in [0,
@@ -13565,22 +13565,6 @@ ada_really_inline bool url_aggregator::parse_host(std::string_view input) {
13565
13565
}
13566
13566
ada_log("parse_host fast path ", get_hostname());
13567
13567
return true;
13568
- } else if (is_forbidden_or_upper == 2) {
13569
- // We have encountered at least one upper case ASCII letter, let us
13570
- // try to convert it to lower case. If there is no 'xn-' in the result,
13571
- // we can then use a secondary fast path.
13572
- std::string _buffer = std::string(input);
13573
- unicode::to_lower_ascii(_buffer.data(), _buffer.size());
13574
- if (input.find("xn-") == std::string_view::npos) {
13575
- // secondary fast path when input is not all lower case
13576
- update_base_hostname(input);
13577
- if (checkers::is_ipv4(get_hostname())) {
13578
- ada_log("parse_host fast path ipv4");
13579
- return parse_ipv4(get_hostname());
13580
- }
13581
- ada_log("parse_host fast path ", get_hostname());
13582
- return true;
13583
- }
13584
13568
}
13585
13569
// We have encountered at least one forbidden code point or the input contains
13586
13570
// 'xn-' (case insensitive), so we need to call 'to_ascii' to perform the full
0 commit comments