From: chaoskagami Date: Thu, 9 Jun 2016 13:55:04 +0000 (-0400) Subject: General cleanup on @Wolfvak's code segment loading X-Git-Tag: v0.0.8~12 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=1864a40d08978cb6492c4415594bb4e730cc91d9;p=corbenik%2Fcorbenik.git General cleanup on @Wolfvak's code segment loading --- diff --git a/external/loader/source/patcher.c b/external/loader/source/patcher.c index 6f5d855..883ebf9 100644 --- a/external/loader/source/patcher.c +++ b/external/loader/source/patcher.c @@ -346,24 +346,21 @@ sd_code(u64 progId, u8 *code_loc, u32 code_len) logstr(code_path); logstr("\n"); } - // Either system title with OPTION_LOADER_DUMPCODE_ALL enabled, or regular title - else if ( config.options[OPTION_LOADER_DUMPCODE] && ((highTid != 0x00040000 && highTid != 0x00040002 && config.options[OPTION_LOADER_DUMPCODE_ALL]) || (highTid == 0x00040000 || highTid == 0x00040002))) - { - if (R_SUCCEEDED(fileOpen(&code_f, ARCHIVE_SDMC, code_path, FS_OPEN_WRITE | FS_OPEN_CREATE))) - { + else if ( config.options[OPTION_LOADER_DUMPCODE] ) { + if ((highTid == 0x00040000 || highTid == 0x00040002) && !config.options[OPTION_LOADER_DUMPCODE_ALL]) + goto return_close; + + if (R_SUCCEEDED(fileOpen(&code_f, ARCHIVE_SDMC, code_path, FS_OPEN_WRITE | FS_OPEN_CREATE))) { FSFILE_Write(code_f, &len, 0, code_loc, code_len, FS_WRITE_FLUSH | FS_WRITE_UPDATE_TIME); logstr(" dumped code to "); logstr(code_path); logstr("\n"); } - else - { - FSFILE_Close(code_f); - return; - } } +return_close: + FSFILE_Close(code_f); return; }