--- bc/execute.c +++ bc/execute.c @@ -638,19 +638,19 @@ push_constant (int (*in_char)(VOID), int conv_base) } /* Check for the special case of a single digit. */ - if (in_ch < 36) + if (in_ch < 16) { first_ch = in_ch; in_ch = in_char(); - if (in_ch < 36 && first_ch >= conv_base) + if (in_ch < 16 && first_ch >= conv_base) first_ch = conv_base - 1; bc_int2num (&build, (int) first_ch); } /* Convert the integer part. */ - while (in_ch < 36) + while (in_ch < 16) { - if (in_ch < 36 && in_ch >= conv_base) in_ch = conv_base-1; + if (in_ch < 16 && in_ch >= conv_base) in_ch = conv_base-1; bc_multiply (build, mult, &result, 0); bc_int2num (&temp, (int) in_ch); bc_add (result, temp, &build, 0); @@ -665,7 +665,7 @@ push_constant (int (*in_char)(VOID), int conv_base) divisor = bc_copy_num (_one_); result = bc_copy_num (_zero_); digits = 0; - while (in_ch < 36) + while (in_ch < 16) { bc_multiply (result, mult, &result, 0); bc_int2num (&temp, (int) in_ch); @@ -673,7 +673,7 @@ push_constant (int (*in_char)(VOID), int conv_base) bc_multiply (divisor, mult, &divisor, 0); digits++; in_ch = in_char(); - if (in_ch < 36 && in_ch >= conv_base) in_ch = conv_base-1; + if (in_ch < 16 && in_ch >= conv_base) in_ch = conv_base-1; } bc_divide (result, divisor, &result, digits); bc_add (build, result, &build, 0);