From 5f538c27a15846628826069f46792af020df41e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?=
Date: Wed, 25 Oct 2023 14:04:00 +0100 Subject: [PATCH] basenc: --base16: also allow lower case with --ignore-garbage * src/basenc.c (isbase16): Also return true for lower case. * tests/basenc/basenc.pl: Add a test case. Reported by Paul Eggert. --- src/basenc.c | 5 +++-- tests/basenc/basenc.pl | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/basenc.c b/src/basenc.c index 74cf03a49b..b47bd013fd 100644 --- a/src/basenc.c +++ b/src/basenc.c @@ -520,7 +520,7 @@ base32hex_decode_ctx_wrapper (struct base_decode_context *ctx, static bool isbase16 (char ch) { - return ('0' <= ch && ch <= '9') || ('A' <= ch && ch <= 'F'); + return isxdigit (to_uchar (ch)); } static int @@ -529,12 +529,13 @@ base16_length (int len) return len * 2; } -static const char base16[16] = "0123456789ABCDEF"; static void base16_encode (char const *restrict in, idx_t inlen, char *restrict out, idx_t outlen) { + static const char base16[16] = "0123456789ABCDEF"; + while (inlen--) { unsigned char c = *in; diff --git a/tests/basenc/basenc.pl b/tests/basenc/basenc.pl index 2b0e79e932..3efe373007 100755 --- a/tests/basenc/basenc.pl +++ b/tests/basenc/basenc.pl @@ -160,6 +160,7 @@ my @Tests = {ERR=>"$prog: invalid input\n"}], ['b16_8', '--base16 -d', {IN=>"AB\nCD"}, {OUT=>"\xAB\xCD"}], ['b16_9', '--base16 -d', {IN=>lc ($base16_out)}, {OUT=>$base16_in}], + ['b16_10', '--base16 -d -i', {IN=>lc ($base16_out)}, {OUT=>$base16_in}], -- 2.47.2