py: Raise TypeError when trying to format non-int with %x,%o,%X.

This behaviour follows Python 3.5 standard (in 3.4 it's a
DeprecationWarning which we'd rather make a TypeError).
This commit is contained in:
Damien George
2014-06-05 19:44:54 +01:00
parent f675ff3957
commit d4c2bddd0c
2 changed files with 8 additions and 2 deletions

View File

@@ -1273,7 +1273,7 @@ not_enough_args:
if (alt) {
flags |= (PF_FLAG_SHOW_PREFIX | PF_FLAG_SHOW_OCTAL_LETTER);
}
pfenv_print_mp_int(&pfenv_vstr, arg_as_int(arg), 1, 8, 'a', flags, fill, width);
pfenv_print_mp_int(&pfenv_vstr, arg, 1, 8, 'a', flags, fill, width);
break;
case 'r':
@@ -1296,7 +1296,7 @@ not_enough_args:
case 'X':
case 'x':
pfenv_print_mp_int(&pfenv_vstr, arg_as_int(arg), 1, 16, *str - ('X' - 'A'), flags | alt, fill, width);
pfenv_print_mp_int(&pfenv_vstr, arg, 1, 16, *str - ('X' - 'A'), flags | alt, fill, width);
break;
default: