aboutsummaryrefslogtreecommitdiff
path: root/extmod
diff options
context:
space:
mode:
authorTom Collins2018-03-08 16:02:26 -0800
committerDamien George2018-03-12 12:26:36 +1100
commit4d3a92c67c9b1550eaf07d06ed74de996ee8fa3b (patch)
treeed0c98b17d40ac5c738d7a668dc2a6b80ec5baea /extmod
parent1345093401ed0812aa72dc5206cb8fd5fe61917f (diff)
extmod/vfs_fat: Add file size as 4th element of uos.ilistdir tuple.
Diffstat (limited to 'extmod')
-rw-r--r--extmod/vfs.c4
-rw-r--r--extmod/vfs_fat.c5
2 files changed, 4 insertions, 5 deletions
diff --git a/extmod/vfs.c b/extmod/vfs.c
index 105a80a8d..0585de1c7 100644
--- a/extmod/vfs.c
+++ b/extmod/vfs.c
@@ -366,9 +366,7 @@ mp_obj_t mp_vfs_listdir(size_t n_args, const mp_obj_t *args) {
mp_obj_t dir_list = mp_obj_new_list(0, NULL);
mp_obj_t next;
while ((next = mp_iternext(iter)) != MP_OBJ_STOP_ITERATION) {
- mp_obj_t *items;
- mp_obj_get_array_fixed_n(next, 3, &items);
- mp_obj_list_append(dir_list, items[0]);
+ mp_obj_list_append(dir_list, mp_obj_subscr(next, MP_OBJ_NEW_SMALL_INT(0), MP_OBJ_SENTINEL));
}
return dir_list;
}
diff --git a/extmod/vfs_fat.c b/extmod/vfs_fat.c
index 0177f5129..5666a6b0c 100644
--- a/extmod/vfs_fat.c
+++ b/extmod/vfs_fat.c
@@ -142,8 +142,8 @@ STATIC mp_obj_t mp_vfs_fat_ilistdir_it_iternext(mp_obj_t self_in) {
// Note that FatFS already filters . and .., so we don't need to
- // make 3-tuple with info about this entry
- mp_obj_tuple_t *t = MP_OBJ_TO_PTR(mp_obj_new_tuple(3, NULL));
+ // make 4-tuple with info about this entry
+ mp_obj_tuple_t *t = MP_OBJ_TO_PTR(mp_obj_new_tuple(4, NULL));
if (self->is_str) {
t->items[0] = mp_obj_new_str(fn, strlen(fn));
} else {
@@ -157,6 +157,7 @@ STATIC mp_obj_t mp_vfs_fat_ilistdir_it_iternext(mp_obj_t self_in) {
t->items[1] = MP_OBJ_NEW_SMALL_INT(MP_S_IFREG);
}
t->items[2] = MP_OBJ_NEW_SMALL_INT(0); // no inode number
+ t->items[3] = mp_obj_new_int_from_uint(fno.fsize);
return MP_OBJ_FROM_PTR(t);
}