From e850fd8733bd8a0b29ff4a1b1b5678a689a8b908 Mon Sep 17 00:00:00 2001 From: NightYoshi370 Date: Wed, 2 Oct 2019 21:21:25 -0700 Subject: [PATCH] Clean up main.cpp (#36) - No more code repeat - Uses extention function from TWiLightMenu++ --- arm9/source/main.cpp | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/arm9/source/main.cpp b/arm9/source/main.cpp index 38b7e30..9327f01 100644 --- a/arm9/source/main.cpp +++ b/arm9/source/main.cpp @@ -62,6 +62,14 @@ void stop (void) { char filePath[PATH_MAX]; +bool extention(const std::string& filename, const char* ext) { + if(strcasecmp(filename.c_str() + filename.size() - strlen(ext), ext)) { + return false; + } else { + return true; + } +} + //--------------------------------------------------------------------------------- int main(int argc, char **argv) { //--------------------------------------------------------------------------------- @@ -193,8 +201,8 @@ int main(int argc, char **argv) { } else { argarray.push_back(strdup(filename.c_str())); } - if ((strcasecmp (filename.c_str() + filename.size() - 4, ".dsi") == 0) - || (strcasecmp (filename.c_str() + filename.size() - 4, ".DSI") == 0)) { + + if (extention(filename, ".dsi") || extention(filename, ".nds")) { char *name = argarray.at(0); strcpy (filePath + pathLen, name); free(argarray.at(0)); @@ -204,20 +212,8 @@ int main(int argc, char **argv) { int err = runNdsFile (argarray[0], argarray.size(), (const char **)&argarray[0]); iprintf ("\x1b[31mStart failed. Error %i\n", err); } - if ((strcasecmp (filename.c_str() + filename.size() - 4, ".nds") == 0) - || (strcasecmp (filename.c_str() + filename.size() - 4, ".NDS") == 0)) { - char *name = argarray.at(0); - strcpy (filePath + pathLen, name); - free(argarray.at(0)); - argarray.at(0) = filePath; - consoleClear(); - iprintf ("Running %s with %d parameters\n", argarray[0], argarray.size()); - int err = runNdsFile (argarray[0], argarray.size(), (const char **)&argarray[0]); - iprintf ("Start failed. Error %i\n", err); - } - if ((strcasecmp (filename.c_str() + filename.size() - 5, ".firm") == 0) - || (strcasecmp (filename.c_str() + filename.size() - 5, ".FIRM") == 0)) { + if (extention(filename, ".firm")) { char *name = argarray.at(0); strcpy (filePath + pathLen, name); free(argarray.at(0));