I just compiled linux-atm-2.5.1 with extra compiler flag -Wlogical-op
ldb.c:89:3: warning: logical 'or' of collectively exhaustive tests is always true [-Wlogical-op]
Source code is
return ((test >= '0' && test <= '9') || (test >= 'a' || test <= 'f') ||
(test >= 'A' && test <= 'F') || test == 'x' || test == 'X');
This bit looks wrong
(test >= 'a' || test <= 'f')
Suggest swap || for &&.