diff --git a/url.bs b/url.bs index fbb7d2f9..33a36666 100644 --- a/url.bs +++ b/url.bs @@ -135,10 +135,9 @@ contains bytes that are not ASCII bytes might be insecure and is not reco
For each byte byte in input:
If byte is not `%
`, append
- byte to output.
+
If byte is not 0x25 (%), then append byte to output. -
Otherwise, if byte is `%
` and the next two bytes after
+
Otherwise, if byte is 0x25 (%) and the next two bytes after byte in input are not in the ranges 0x30 (0) to 0x39 (9), 0x41 (A) to 0x46 (F), and 0x61 (a) to 0x66 (f), all inclusive, append byte to output. @@ -2384,11 +2383,12 @@ takes a byte sequence input, and then runs these steps:
Let sequences be the result of splitting input on
- `&
`.
-
+ 0x26 (&).
+
-
Let tuples be an empty list of name-value tuples where both name and value hold a - byte sequence. +
Let output be an initially empty list of name-value tuples where + both name and value hold a string.
For each byte sequence bytes in sequences: @@ -2409,16 +2409,13 @@ takes a byte sequence input, and then runs these steps:
Replace any 0x2B (+) in name and value with 0x20 (SP). -
Add a tuple consisting of name and value to tuples. -
Let output be an empty list of name-value tuples where both name and value hold a - string. +
Let nameString and valueString be the result of running UTF-8 + decode without BOM on the percent decoding of name and + value, respectively. -
For each name-value tuple in tuples, append a name-value tuple to - output where the new name and value appended to output are the result of - running UTF-8 decode without BOM on the percent decoding of the - name and value from tuples, respectively, using encoding. +
Append (nameString, valueString) to + output. +
Return output.