summaryrefslogtreecommitdiff
path: root/gen_player.c
diff options
context:
space:
mode:
authorAdrien Plazas <kekun.plazas@laposte.net>2020-12-12 14:09:34 +0100
committertwinaphex <libretro@gmail.com>2021-03-12 08:42:23 +0100
commitda869b41fbb3bfb2c31798abf01e648d6dc15221 (patch)
treec6ebbc4c2b5d3441032070c1b2051ab7d7cdbbbd /gen_player.c
parent556e1be14b3f1647f8e07d47694c971ba5ee296e (diff)
Stop loading at the end of a file
When section 0 is found, assume we reached the end of the serialization, so stop deserializing.
Diffstat (limited to 'gen_player.c')
-rw-r--r--gen_player.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gen_player.c b/gen_player.c
index 860108b..e3d856b 100644
--- a/gen_player.c
+++ b/gen_player.c
@@ -81,7 +81,8 @@ static void run(gen_player *player)
register_section_handler(&buffer, (section_handler){.fun = psg_deserialize, .data = player->psg}, SECTION_PSG);
while (buffer.cur_pos < buffer.size)
{
- load_section(&buffer);
+ if (!load_section(&buffer))
+ break;
}
player->reader.buffer.cur_pos += size;
free(buffer.handlers);