From ebeef7ab7f730ae35658b66ca97c5da9f663a17d Mon Sep 17 00:00:00 2001 From: Chris Feger Date: Wed, 29 Jul 2020 23:22:57 -0400 Subject: [PATCH] Special case for final line read (#1473) Fixes cheat files without a trailing newline --- sysmodules/rosalina/source/menus/cheats.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) mode change 100644 => 100755 sysmodules/rosalina/source/menus/cheats.c diff --git a/sysmodules/rosalina/source/menus/cheats.c b/sysmodules/rosalina/source/menus/cheats.c old mode 100644 new mode 100755 index f313248..0b085f8 --- a/sysmodules/rosalina/source/menus/cheats.c +++ b/sysmodules/rosalina/source/menus/cheats.c @@ -1801,7 +1801,9 @@ static void Cheat_LoadCheatsIntoMemory(u64 titleId) do { res = Cheat_ReadLine(&file, line, 1024); - if (R_SUCCEEDED(res)) + // -1 is special; it can't be a normal result because of how results are constructed + // So let's just use it as a signal that this is the final line of a file + if (R_SUCCEEDED(res) || res == -1) { char* strippedLine = stripWhitespace(line); s32 lineLen = strnlen(strippedLine, 1023);