1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-29 09:35:10 +00:00

AK: Correct faulty logic for host state in basic URL parse

The '[' and ']' code points were not being appended to the buffer for
this case.
This commit is contained in:
Shannon Booth 2023-07-04 21:57:05 +12:00 committed by Andreas Kling
parent dc27d19b21
commit 16b43ed03e

View file

@ -681,18 +681,17 @@ URL URLParser::parse(StringView raw_input, Optional<URL> const& base_url, Option
} }
// 4. Otherwise: // 4. Otherwise:
// FIXME: Implement closer to spec text. From reading it, shouldn't we be appending [ or ] to buffer as well? Step 3. below does not have an 'otherwise'. else {
//
// 1. If c is U+005B ([), then set insideBrackets to true. // 1. If c is U+005B ([), then set insideBrackets to true.
else if (code_point == '[') { if (code_point == '[') {
inside_brackets = true; inside_brackets = true;
} }
// 2. If c is U+005D (]), then set insideBrackets to false. // 2. If c is U+005D (]), then set insideBrackets to false.
else if (code_point == ']') { else if (code_point == ']') {
inside_brackets = false; inside_brackets = false;
} }
// 3. Append c to buffer. // 3. Append c to buffer.
else {
buffer.append_code_point(code_point); buffer.append_code_point(code_point);
} }
break; break;