urlmatch: use hex2chr() in append_normalized_escapes()

Simplify the code by using hex2chr() to convert and check for invalid
characters at the same time instead of doing that sequentially with
one table lookup for each.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2017-07-08 10:59:19 +02:00 committed by Junio C Hamano
parent 8c8e978f57
commit 5053313562

View File

@ -42,12 +42,12 @@ static int append_normalized_escapes(struct strbuf *buf,
from_len--;
if (ch == '%') {
if (from_len < 2 ||
!isxdigit(from[0]) ||
!isxdigit(from[1]))
if (from_len < 2)
return 0;
ch = hexval(*from++) << 4;
ch |= hexval(*from++);
ch = hex2chr(from);
if (ch < 0)
return 0;
from += 2;
from_len -= 2;
was_esc = 1;
}