diff options
author | Damien George <damien.p.george@gmail.com> | 2014-07-19 16:39:13 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-07-19 16:39:13 +0100 |
commit | 02bc882c3dbfcfd6c825cddf53ededac9af65f02 (patch) | |
tree | a63c3c2a14db192109e9cd78232e33604c004847 /stmhal/file.c | |
parent | 5467186b0eaa6e856b00f60f807bb988ae2ef8c5 (diff) | |
download | micropython-02bc882c3dbfcfd6c825cddf53ededac9af65f02.tar.gz micropython-02bc882c3dbfcfd6c825cddf53ededac9af65f02.zip |
stmhal: Add file.flush and os.stat.
Diffstat (limited to 'stmhal/file.c')
-rw-r--r-- | stmhal/file.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/stmhal/file.c b/stmhal/file.c index 2d33a8f7b4..c1a2924903 100644 --- a/stmhal/file.c +++ b/stmhal/file.c @@ -41,7 +41,7 @@ extern const mp_obj_type_t mp_type_fileio; extern const mp_obj_type_t mp_type_textio; // this table converts from FRESULT to POSIX errno -STATIC const byte fresult_to_errno_table[] = { +const byte fresult_to_errno_table[20] = { [FR_OK] = 0, [FR_DISK_ERR] = EIO, [FR_INT_ERR] = EIO, @@ -95,6 +95,13 @@ STATIC mp_int_t file_obj_write(mp_obj_t self_in, const void *buf, mp_uint_t size return sz_out; } +STATIC mp_obj_t file_obj_flush(mp_obj_t self_in) { + pyb_file_obj_t *self = self_in; + f_sync(&self->fp); + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(file_obj_flush_obj, file_obj_flush); + mp_obj_t file_obj_close(mp_obj_t self_in) { pyb_file_obj_t *self = self_in; f_close(&self->fp); @@ -218,6 +225,7 @@ STATIC const mp_map_elem_t rawfile_locals_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_readline), (mp_obj_t)&mp_stream_unbuffered_readline_obj}, { MP_OBJ_NEW_QSTR(MP_QSTR_readlines), (mp_obj_t)&mp_stream_unbuffered_readlines_obj}, { MP_OBJ_NEW_QSTR(MP_QSTR_write), (mp_obj_t)&mp_stream_write_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_flush), (mp_obj_t)&file_obj_flush_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_close), (mp_obj_t)&file_obj_close_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_seek), (mp_obj_t)&file_obj_seek_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_tell), (mp_obj_t)&file_obj_tell_obj }, |