extmod,unix: For uos.stat interpret st_size member as an unsigned int.
This prevents large files (eg larger than 2gb on a 32-bit arch) from showing up as having a negative size. Fixes issue #3227.
This commit is contained in:
parent
b16a755a0b
commit
4c736ea8fc
|
@ -243,7 +243,7 @@ STATIC mp_obj_t fat_vfs_stat(mp_obj_t vfs_in, mp_obj_t path_in) {
|
||||||
t->items[3] = MP_OBJ_NEW_SMALL_INT(0); // st_nlink
|
t->items[3] = MP_OBJ_NEW_SMALL_INT(0); // st_nlink
|
||||||
t->items[4] = MP_OBJ_NEW_SMALL_INT(0); // st_uid
|
t->items[4] = MP_OBJ_NEW_SMALL_INT(0); // st_uid
|
||||||
t->items[5] = MP_OBJ_NEW_SMALL_INT(0); // st_gid
|
t->items[5] = MP_OBJ_NEW_SMALL_INT(0); // st_gid
|
||||||
t->items[6] = MP_OBJ_NEW_SMALL_INT(fno.fsize); // st_size
|
t->items[6] = mp_obj_new_int_from_uint(fno.fsize); // st_size
|
||||||
t->items[7] = MP_OBJ_NEW_SMALL_INT(seconds); // st_atime
|
t->items[7] = MP_OBJ_NEW_SMALL_INT(seconds); // st_atime
|
||||||
t->items[8] = MP_OBJ_NEW_SMALL_INT(seconds); // st_mtime
|
t->items[8] = MP_OBJ_NEW_SMALL_INT(seconds); // st_mtime
|
||||||
t->items[9] = MP_OBJ_NEW_SMALL_INT(seconds); // st_ctime
|
t->items[9] = MP_OBJ_NEW_SMALL_INT(seconds); // st_ctime
|
||||||
|
|
|
@ -58,7 +58,7 @@ STATIC mp_obj_t mod_os_stat(mp_obj_t path_in) {
|
||||||
t->items[3] = MP_OBJ_NEW_SMALL_INT(sb.st_nlink);
|
t->items[3] = MP_OBJ_NEW_SMALL_INT(sb.st_nlink);
|
||||||
t->items[4] = MP_OBJ_NEW_SMALL_INT(sb.st_uid);
|
t->items[4] = MP_OBJ_NEW_SMALL_INT(sb.st_uid);
|
||||||
t->items[5] = MP_OBJ_NEW_SMALL_INT(sb.st_gid);
|
t->items[5] = MP_OBJ_NEW_SMALL_INT(sb.st_gid);
|
||||||
t->items[6] = MP_OBJ_NEW_SMALL_INT(sb.st_size);
|
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[7] = MP_OBJ_NEW_SMALL_INT(sb.st_atime);
|
||||||
t->items[8] = MP_OBJ_NEW_SMALL_INT(sb.st_mtime);
|
t->items[8] = MP_OBJ_NEW_SMALL_INT(sb.st_mtime);
|
||||||
t->items[9] = MP_OBJ_NEW_SMALL_INT(sb.st_ctime);
|
t->items[9] = MP_OBJ_NEW_SMALL_INT(sb.st_ctime);
|
||||||
|
|
Loading…
Reference in New Issue