This improves the quadratic algorithm introduced in #54. Additional fixes include:
Catches a case where the percent sign is followed by a negative hexadecimal number (e.g. %-9). Regression tests are added.
Uses upper-case letters for hexdecimal digits as recommended by RFC 3986.
Uses the hh modifier in format strings so that char arguments are treated as unsigned chars. Otherwise a char with value 0xf0 will be printed as FFFFFFF0 instead of just F0.
Update:
Catches more types of invalid percent encodings (e.g. %A, and % A).
This improves the quadratic algorithm introduced in #54. Additional fixes include:
%-9
). Regression tests are added.hh
modifier in format strings so thatchar
arguments are treated asunsigned char
s. Otherwise achar
with value0xf0
will be printed asFFFFFFF0
instead of justF0
.Update:
%A
, and% A
).