diff options
author | Ayke van Laethem <aykevanlaethem@gmail.com> | 2017-12-19 23:47:07 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-01-31 17:33:07 +1100 |
commit | 7642785881550bd71815623c4f93e0516217429c (patch) | |
tree | 86c32f05a37566853d583498a66cc58acd500ed1 /extmod/vfs_fat_file.c | |
parent | df952633ef806d848ea75148a7be52e6a4e7f9fe (diff) |
extmod/vfs_fat_file: Implement SEEK_CUR for non-zero offset.
CPython doesn't allow SEEK_CUR with non-zero offset for files in text mode,
and uPy inherited this behaviour for both text and binary files. It makes
sense to provide full support for SEEK_CUR of binary-mode files in uPy, and
to do this in a minimal way means also allowing to use SEEK_CUR with
non-zero offsets on text-mode files. That seems to be a fair compromise.
Diffstat (limited to 'extmod/vfs_fat_file.c')
-rw-r--r-- | extmod/vfs_fat_file.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/extmod/vfs_fat_file.c b/extmod/vfs_fat_file.c index 1fcbb253d..6154c8483 100644 --- a/extmod/vfs_fat_file.c +++ b/extmod/vfs_fat_file.c @@ -134,11 +134,7 @@ STATIC mp_uint_t file_obj_ioctl(mp_obj_t o_in, mp_uint_t request, uintptr_t arg, break; case 1: // SEEK_CUR - if (s->offset != 0) { - *errcode = MP_EOPNOTSUPP; - return MP_STREAM_ERROR; - } - // no-operation + f_lseek(&self->fp, f_tell(&self->fp) + s->offset); break; case 2: // SEEK_END |