Re: [PATCH 1/3] auxdisplay: charlcd: fix hex literal ranges for graphics command

From: Willy Tarreau
Date: Tue Feb 13 2018 - 14:15:19 EST


On Tue, Feb 13, 2018 at 03:36:45PM +0200, Andy Shevchenko wrote:
> On Sat, Feb 10, 2018 at 11:41 AM, Miguel Ojeda
> <miguel.ojeda.sandonis@xxxxxxxxx> wrote:
> > On Sat, Feb 10, 2018 at 10:20 AM, Willy Tarreau <w@xxxxxx> wrote:
> >> On Sat, Feb 10, 2018 at 09:58:44AM +0100, Miguel Ojeda wrote:
> >>> On Sat, Feb 10, 2018 at 12:50 AM, Robert Abel <rabel@xxxxxxxxxxxxx> wrote:
>
> >>> > shift ^= 4;
> >>> > if (*esc >= '0' && *esc <= '9') {
> >>> > value |= (*esc - '0') << shift;
> >>> > - } else if (*esc >= 'A' && *esc <= 'Z') {
> >>> > + } else if (*esc >= 'A' && *esc <= 'F') {
> >>> > value |= (*esc - 'A' + 10) << shift;
> >>> > - } else if (*esc >= 'a' && *esc <= 'z') {
> >>> > + } else if (*esc >= 'a' && *esc <= 'f') {
> >>>
> >>> Willy, Geert: this seems obvious, but do you know if the broader range
> >>> was intended for some reason?
> >>
> >> No, I think it was simply a brain fart from me 14 years ago, as I can
> >> find it as well in the original 0.9.0 patch for kernel 2.4!
>
> I understand that we have a huge and hopefully nice library in the
> kernel, but the question still the same, what prevents a developer or
> maintainer to look at it from time to time?

It's always the same, nobody knows that some code appeared somewhere to
solve some problem they already solved a long time ago and that they are
not even aware of anymore. That's why code cleanups like this session are
useful.

> For, I dare to say, ages we have hex_to_bin() and hex2bin().
> Can we use it?

I definitely think so after taking a quick look at hex2bin().

Thanks!
Willy