diff options
author | Damien George <damien.p.george@gmail.com> | 2020-05-14 21:37:59 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2020-05-15 11:31:32 +1000 |
commit | 7dffbfd22a128d88cd4cd7f23ebf24c46ae8791f (patch) | |
tree | a975ad37bd465e94146fe6a1cc03eaf18081a9e2 /extmod/vfs_lfsx.c | |
parent | 463c0fb2f4fa5dfd79598c4d8681a007704c2ee1 (diff) |
extmod/vfs_lfsx: Fix import_stat so it takes into account current dir.
CPython semantics require searching the current directory if the import is
not absolute (when "" is in sys.path).
Fixes issue #6037.
Diffstat (limited to 'extmod/vfs_lfsx.c')
-rw-r--r-- | extmod/vfs_lfsx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/extmod/vfs_lfsx.c b/extmod/vfs_lfsx.c index 843e706da..c62409678 100644 --- a/extmod/vfs_lfsx.c +++ b/extmod/vfs_lfsx.c @@ -31,6 +31,7 @@ #include "py/stream.h" #include "py/binary.h" #include "py/objarray.h" +#include "py/objstr.h" #include "py/mperrno.h" #include "extmod/vfs.h" @@ -440,6 +441,8 @@ STATIC MP_DEFINE_CONST_DICT(MP_VFS_LFSx(locals_dict), MP_VFS_LFSx(locals_dict_ta STATIC mp_import_stat_t MP_VFS_LFSx(import_stat)(void *self_in, const char *path) { MP_OBJ_VFS_LFSx *self = self_in; struct LFSx_API (info) info; + mp_obj_str_t path_obj = { { &mp_type_str }, 0, 0, (const byte *)path }; + path = MP_VFS_LFSx(make_path)(self, &path_obj); int ret = LFSx_API(stat)(&self->lfs, path, &info); if (ret == 0) { if (info.type == LFSx_MACRO(_TYPE_REG)) { |