diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-12-01 01:03:22 +0000 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2023-10-01 12:10:41 +0100 |
commit | 18fc68401ca075980ea7739df65bcddb9e4a8ef3 (patch) | |
tree | 52c00260799338eb71f1cd183818d8e4d1b00f62 | |
parent | 1131320d4877ba390906d3f9cda7e3897b58d68b (diff) | |
download | rockbox-18fc68401c.tar.gz rockbox-18fc68401c.zip |
Remove structec API from talk.c
Change-Id: I6e3bae2a893c932b67b4b5a7c4bf46060e5dc32a
-rw-r--r-- | apps/talk.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/apps/talk.c b/apps/talk.c index 5d6e7ac0b6..fb2f9cf3df 100644 --- a/apps/talk.c +++ b/apps/talk.c @@ -41,7 +41,6 @@ /*#define LOGF_ENABLE*/ #include "logf.h" #include "bitswap.h" -#include "structec.h" #include "plugin.h" /* plugin_get_buffer() */ #include "debug.h" #include "panic.h" @@ -502,23 +501,24 @@ static bool load_index_table(int fd, const struct voicefile_header *hdr) return false; ret = read_to_handle(fd, index_handle, 0, alloc_size); - - if (ret == alloc_size) + if (ret != alloc_size) { + index_handle = core_free(index_handle); + return false; + } + #ifdef ROCKBOX_LITTLE_ENDIAN - struct clip_entry *buf; - buf = core_get_data(index_handle); - for (int i = 0; i < hdr->id1_max + hdr->id2_max; i++) - { - /* doesn't yield() */ - structec_convert(&buf[i], "ll", 1, true); - } -#endif + struct clip_entry *buf, *end; + buf = core_get_data(index_handle); + end = buf + hdr->id1_max + hdr->id2_max; + for (; buf != end; buf++) + { + buf->offset = swap32(buf->offset); + buf->size = swap32(buf->size); } - else - index_handle = core_free(index_handle); +#endif - return ret == alloc_size; + return true; } static bool load_header(int fd, struct voicefile_header *hdr) @@ -528,8 +528,11 @@ static bool load_header(int fd, struct voicefile_header *hdr) return false; #ifdef ROCKBOX_LITTLE_ENDIAN - logf("Byte swapping voice file"); - structec_convert(&voicefile, "lllll", 1, true); + hdr->version = swap32(hdr->version); + hdr->target_id = swap32(hdr->target_id); + hdr->table = swap32(hdr->table); + hdr->id1_max = swap32(hdr->id1_max); + hdr->id2_max = swap32(hdr->id2_max); #endif return true; } |