py/mpprint: Make "%p" format work properly on 64-bit systems.
Before, the output was truncated to 32 bits.
@@ -512,7 +512,8 @@ int mp_vprintf(const mp_print_t *print, const char *fmt, va_list args) {
break;
case 'p':
case 'P': // don't bother to handle upcase for 'P'
- chrs += mp_print_int(print, va_arg(args, unsigned int), 0, 16, 'a', flags, fill, width);
+ // Use unsigned long int to work on both ILP32 and LP64 systems
+ chrs += mp_print_int(print, va_arg(args, unsigned long int), 0, 16, 'a', flags, fill, width);
break;
#if MICROPY_PY_BUILTINS_FLOAT
case 'e':
