On Sat, Feb 10, 2018 at 9:58 AM, Miguel Ojeda <[email protected]> wrote: > On Sat, Feb 10, 2018 at 12:50 AM, Robert Abel <[email protected]> wrote: >> The graphics command expects 16 hexadecimal literals, but would allow >> characters in range [0-9a-zA-Z] instead of [0-9a-fA-F]. >> >> Signed-off-by: Robert Abel <[email protected]>
Reviewed-by: Geert Uytterhoeven <[email protected]> >> --- a/drivers/auxdisplay/charlcd.c >> +++ b/drivers/auxdisplay/charlcd.c >> @@ -441,9 +441,9 @@ static inline int handle_lcd_special_code(struct charlcd >> *lcd) >> 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? In that case, adding a comment to the > code would be good. I found some related docs at > Documentation/misc-devices/lcd-panel-cgram.txt by Willy (which, by the > way, maybe now we should move them to Documentations/auxdisplay); but > the paragraph does indeed say they have to be hex: > > ''' > Some LCDs allow you to define up to 8 characters, mapped to ASCII > characters 0 to 7. The escape code to define a new character is > '\e[LG' followed by one digit from 0 to 7, representing the character > number, and up to 8 couples of hex digits terminated by a semi-colon > (';'). > ''' Hadn't noticed this before. Probably a stupid thinko, as Willy said. The redefinition feature definitely works with hex characters. I've used it in the past, cfr. the picture on my Google+ profile ;-) https://plus.google.com/u/0/+GeertUytterhoeven Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds

