Commit 0379b55a authored by Damien George's avatar Damien George
Browse files

py: Fix casting and printing of small int.

parent b25ef4db
......@@ -47,7 +47,7 @@ STATIC mp_obj_t int_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_
void int_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) {
if (MP_OBJ_IS_SMALL_INT(self_in)) {
print(env, "%d", (int)MP_OBJ_SMALL_INT_VALUE(self_in));
print(env, INT_FMT, MP_OBJ_SMALL_INT_VALUE(self_in));
}
}
......
......@@ -23,7 +23,7 @@
void int_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) {
if (MP_OBJ_IS_SMALL_INT(self_in)) {
print(env, "%d", (int)MP_OBJ_SMALL_INT_VALUE(self_in));
print(env, INT_FMT, MP_OBJ_SMALL_INT_VALUE(self_in));
} else {
mp_obj_int_t *self = self_in;
print(env, "%lld" SUFFIX, self->val);
......
......@@ -68,7 +68,7 @@ void mp_byte_code_print(const byte *ip, int len) {
break;
case MP_BC_LOAD_CONST_SMALL_INT: {
int num = 0;
machine_int_t num = 0;
if ((ip[0] & 0x40) != 0) {
// Number is negative
num--;
......@@ -76,7 +76,7 @@ void mp_byte_code_print(const byte *ip, int len) {
do {
num = (num << 7) | (*ip & 0x7f);
} while ((*ip++ & 0x80) != 0);
printf("LOAD_CONST_SMALL_INT %d", num);
printf("LOAD_CONST_SMALL_INT " INT_FMT, num);
break;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment