diff options
author | Damien George <damien@micropython.org> | 2020-08-31 14:39:02 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2020-09-01 12:36:28 +1000 |
commit | 0385b21597a3e5dc3d1a84cd37848fc2ac2a0e20 (patch) | |
tree | e7ec05a54db414679be840e13d40a11c9f0c3127 | |
parent | c70e59965977df97d1134f0dcadb9cd4ed58139f (diff) | |
download | micropython-0385b21597a3e5dc3d1a84cd37848fc2ac2a0e20.tar.gz micropython-0385b21597a3e5dc3d1a84cd37848fc2ac2a0e20.zip |
unix/modos: Support larger integer range in uos.stat fields.
On 32-bit builds these stat fields will overflow a small-int, so use
mp_obj_new_int_from_uint to construct the int object.
Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r-- | ports/unix/modos.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/ports/unix/modos.c b/ports/unix/modos.c index 82b1b11425..5e719c5736 100644 --- a/ports/unix/modos.c +++ b/ports/unix/modos.c @@ -58,15 +58,15 @@ STATIC mp_obj_t mod_os_stat(mp_obj_t path_in) { mp_obj_tuple_t *t = MP_OBJ_TO_PTR(mp_obj_new_tuple(10, NULL)); t->items[0] = MP_OBJ_NEW_SMALL_INT(sb.st_mode); - t->items[1] = MP_OBJ_NEW_SMALL_INT(sb.st_ino); - t->items[2] = MP_OBJ_NEW_SMALL_INT(sb.st_dev); - t->items[3] = MP_OBJ_NEW_SMALL_INT(sb.st_nlink); - t->items[4] = MP_OBJ_NEW_SMALL_INT(sb.st_uid); - t->items[5] = MP_OBJ_NEW_SMALL_INT(sb.st_gid); + t->items[1] = mp_obj_new_int_from_uint(sb.st_ino); + t->items[2] = mp_obj_new_int_from_uint(sb.st_dev); + t->items[3] = mp_obj_new_int_from_uint(sb.st_nlink); + t->items[4] = mp_obj_new_int_from_uint(sb.st_uid); + t->items[5] = mp_obj_new_int_from_uint(sb.st_gid); t->items[6] = mp_obj_new_int_from_uint(sb.st_size); - t->items[7] = MP_OBJ_NEW_SMALL_INT(sb.st_atime); - t->items[8] = MP_OBJ_NEW_SMALL_INT(sb.st_mtime); - t->items[9] = MP_OBJ_NEW_SMALL_INT(sb.st_ctime); + t->items[7] = mp_obj_new_int_from_uint(sb.st_atime); + t->items[8] = mp_obj_new_int_from_uint(sb.st_mtime); + t->items[9] = mp_obj_new_int_from_uint(sb.st_ctime); return MP_OBJ_FROM_PTR(t); } STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_os_stat_obj, mod_os_stat); |