From: Pádraig Brady
Date: Wed, 25 Oct 2023 13:04:00 +0000 (+0100) Subject: basenc: --base16: also allow lower case with --ignore-garbage X-Git-Tag: v9.5~130 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f538c27a15846628826069f46792af020df41e8;p=thirdparty%2Fcoreutils.git 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. --- 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}],