prom_toupper
if (prom_toupper(*cp) == 'X') {
(value = prom_isdigit(*cp) ? *cp - '0' : prom_toupper(*cp) - 'A' + 10) < base) {