From 2020aba481ca0a21a773fb840099362e8a3657ba Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 7 Apr 2024 23:06:53 -0500 Subject: [PATCH] Wstringop-overflow --- extern/emu2413/emu2413.c | 6 +++++- extern/emu2413/emu2413.h | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/extern/emu2413/emu2413.c b/extern/emu2413/emu2413.c index a19c2a177..dc2aa9c21 100644 --- a/extern/emu2413/emu2413.c +++ b/extern/emu2413/emu2413.c @@ -1233,7 +1233,11 @@ void OPLL_writeReg(OPLL *opll, uint32_t reg, uint8_t data) { reg -= 9; } - opll->reg[reg] = (uint8_t)data; + // is the compiler stupid or what? + // -Wstringop-overflow seems to be the buggiest thing known to humanity... + if (reg<0x40) { + opll->reg[reg] = (uint8_t)data; + } switch (reg) { case 0x00: diff --git a/extern/emu2413/emu2413.h b/extern/emu2413/emu2413.h index 9e60590a0..7c10058e5 100644 --- a/extern/emu2413/emu2413.h +++ b/extern/emu2413/emu2413.h @@ -96,7 +96,7 @@ typedef struct __OPLL { double out_step; double out_time; - uint8_t reg[0x40]; + uint8_t reg[64]; uint8_t test_flag; uint32_t slot_key_status; uint8_t rhythm_mode;