| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- commit a92199d3c33b322edc7c98c21af594b43cb6d8d8
- Author: Oliver Fabel <28701799+ofabel@users.noreply.github.com>
- Date: Tue Oct 1 05:57:46 2024 +0200
- library update
- diff --git a/genhdr/qstrdefs.generated.h b/genhdr/qstrdefs.generated.h
- index 8cba2f58a..0579691fd 100644
- --- a/genhdr/qstrdefs.generated.h
- +++ b/genhdr/qstrdefs.generated.h
- @@ -423,6 +423,7 @@ QDEF1(MP_QSTR_max, 177, 3, "max")
- QDEF1(MP_QSTR_maximum_space_recursion_space_depth_space_exceeded, 115, 32, "maximum recursion depth exceeded")
- QDEF1(MP_QSTR_min, 175, 3, "min")
- QDEF1(MP_QSTR_module, 191, 6, "module")
- +QDEF1(MP_QSTR_name, 162, 4, "name")
- QDEF1(MP_QSTR_oct, 253, 3, "oct")
- QDEF1(MP_QSTR_on_gpio, 106, 7, "on_gpio")
- QDEF1(MP_QSTR_on_input, 141, 8, "on_input")
- diff --git a/mp_flipper_fileio.c b/mp_flipper_fileio.c
- index 4e044cd97..102a4d03d 100644
- --- a/mp_flipper_fileio.c
- +++ b/mp_flipper_fileio.c
- @@ -1,6 +1,7 @@
- #include <stdio.h>
- #include <stdbool.h>
- #include <stdint.h>
- +#include <string.h>
-
- #include "py/obj.h"
- #include "py/stream.h"
- @@ -15,17 +16,17 @@ extern const mp_obj_type_t mp_flipper_textio_type;
- typedef struct _mp_flipper_fileio_file_descriptor_t {
- mp_obj_base_t base;
- void* handle;
- - size_t offset;
- + mp_obj_t name;
- uint8_t access_mode;
- uint8_t open_mode;
- } mp_flipper_fileio_file_descriptor_t;
-
- -void* mp_flipper_file_new_file_descriptor(void* handle, size_t offset, uint8_t access_mode, uint8_t open_mode, bool is_text) {
- +void* mp_flipper_file_new_file_descriptor(void* handle, const char* name, uint8_t access_mode, uint8_t open_mode, bool is_text) {
- mp_flipper_fileio_file_descriptor_t* fd = mp_obj_malloc_with_finaliser(
- mp_flipper_fileio_file_descriptor_t, is_text ? &mp_flipper_textio_type : &mp_flipper_fileio_type);
-
- fd->handle = handle;
- - fd->offset = offset;
- + fd->name = mp_obj_new_str(name, strlen(name));
- fd->access_mode = access_mode;
- fd->open_mode = open_mode;
-
- @@ -105,6 +106,13 @@ static mp_uint_t mp_flipper_fileio_ioctl(mp_obj_t self, mp_uint_t request, uintp
- return MP_STREAM_ERROR;
- }
-
- +static mp_obj_t mp_flipper_fileio_name(mp_obj_t self) {
- + mp_flipper_fileio_file_descriptor_t* fd = MP_OBJ_TO_PTR(self);
- +
- + return fd->name;
- +}
- +static MP_DEFINE_CONST_FUN_OBJ_1(mp_flipper_fileio_name_obj, mp_flipper_fileio_name);
- +
- static mp_obj_t mp_flipper_fileio_writable(mp_obj_t self) {
- mp_flipper_fileio_file_descriptor_t* fd = MP_OBJ_TO_PTR(self);
-
- @@ -113,6 +121,7 @@ static mp_obj_t mp_flipper_fileio_writable(mp_obj_t self) {
- static MP_DEFINE_CONST_FUN_OBJ_1(mp_flipper_fileio_writable_obj, mp_flipper_fileio_writable);
-
- static const mp_map_elem_t mp_flipper_file_locals_dict_table[] = {
- + {MP_OBJ_NEW_QSTR(MP_QSTR_name), MP_ROM_PTR(&mp_flipper_fileio_name_obj)},
- {MP_ROM_QSTR(MP_QSTR_read), MP_ROM_PTR(&mp_stream_read_obj)},
- {MP_ROM_QSTR(MP_QSTR_readinto), MP_ROM_PTR(&mp_stream_readinto_obj)},
- {MP_ROM_QSTR(MP_QSTR_readline), MP_ROM_PTR(&mp_stream_unbuffered_readline_obj)},
- diff --git a/mp_flipper_fileio.h b/mp_flipper_fileio.h
- index 52d5d85a5..579422200 100644
- --- a/mp_flipper_fileio.h
- +++ b/mp_flipper_fileio.h
- @@ -13,9 +13,9 @@ extern uint8_t MP_FLIPPER_FILE_OPEN_MODE_OPEN_APPEND;
- extern uint8_t MP_FLIPPER_FILE_OPEN_MODE_CREATE_NEW;
- extern uint8_t MP_FLIPPER_FILE_OPEN_MODE_CREATE_ALWAYS;
-
- -void* mp_flipper_file_open(const char* name, uint8_t access_mode, uint8_t open_mode, size_t* offset);
- -void* mp_flipper_file_new_file_descriptor(void* handle, size_t offset, uint8_t access_mode, uint8_t open_mode, bool is_text);
- -uint8_t mp_flipper_file_close(void* handle);
- +void* mp_flipper_file_open(const char* name, uint8_t access_mode, uint8_t open_mode);
- +void* mp_flipper_file_new_file_descriptor(void* handle, const char* name, uint8_t access_mode, uint8_t open_mode, bool is_text);
- +bool mp_flipper_file_close(void* handle);
- size_t mp_flipper_file_seek(void* handle, uint32_t offset);
- size_t mp_flipper_file_tell(void* handle);
- size_t mp_flipper_file_size(void* handle);
- diff --git a/mp_flipper_halport.c b/mp_flipper_halport.c
- index c271b705f..3be95e436 100644
- --- a/mp_flipper_halport.c
- +++ b/mp_flipper_halport.c
- @@ -59,10 +59,8 @@ mp_obj_t mp_builtin_open(size_t n_args, const mp_obj_t* args, mp_map_t* kwargs)
- }
- }
-
- - size_t offset;
- -
- - void* handle = mp_flipper_file_open(file_name, access_mode, open_mode, &offset);
- - void* fd = mp_flipper_file_new_file_descriptor(handle, offset, access_mode, open_mode, is_text);
- + void* handle = mp_flipper_file_open(file_name, access_mode, open_mode);
- + void* fd = mp_flipper_file_new_file_descriptor(handle, file_name, access_mode, open_mode, is_text);
-
- return MP_OBJ_FROM_PTR(fd);
- }
|