[FL-3664] 64k does not enough (#3216)

* Unit tests: add "exists" to furi_record tests
* Unit tests: mu_warn, storage 64k test
* Storage: read/write over 64k
* Unit tests: moar tests for storage r/w for >64k cases
* Apps, libs: replace uint16_t with size_t on storage r/w operations
* Unit tests: better data pattern, subghz: warning if transmission is prohibited

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Sergey Gavrilov
2023-11-15 19:39:27 +03:00
committed by GitHub
parent 98d5718ec9
commit 4b3e8aba29
25 changed files with 188 additions and 81 deletions

View File

@@ -46,7 +46,7 @@ bool saved_struct_save(const char* path, void* data, size_t size, uint8_t magic,
header.flags = 0;
header.timestamp = 0;
uint16_t bytes_count = storage_file_write(file, &header, sizeof(header));
size_t bytes_count = storage_file_write(file, &header, sizeof(header));
bytes_count += storage_file_write(file, data, size);
if(bytes_count != (size + sizeof(header))) {
@@ -79,7 +79,7 @@ bool saved_struct_load(const char* path, void* data, size_t size, uint8_t magic,
}
if(result) {
uint16_t bytes_count = storage_file_read(file, &header, sizeof(SavedStructHeader));
size_t bytes_count = storage_file_read(file, &header, sizeof(SavedStructHeader));
bytes_count += storage_file_read(file, data_read, size);
if(bytes_count != (sizeof(SavedStructHeader) + size)) {
@@ -146,7 +146,7 @@ bool saved_struct_get_payload_size(
break;
}
uint16_t bytes_count = storage_file_read(file, &header, sizeof(SavedStructHeader));
size_t bytes_count = storage_file_read(file, &header, sizeof(SavedStructHeader));
if(bytes_count != sizeof(SavedStructHeader)) {
FURI_LOG_E(TAG, "Failed to read header");
break;