Allow loader (e.g. Homebrew Channel) to pass two arguments instead of three for autoload

This commit is contained in:
libertyernie 2018-07-27 21:52:04 -05:00
parent 8ea78dde4a
commit 081efa8f26

View File

@ -464,7 +464,7 @@ int main(int argc, char *argv[])
InitGUIThreads(); InitGUIThreads();
bool autoboot = false; bool autoboot = false;
if(argc > 3 && argv[1] != NULL && argv[2] != NULL && argv[3] != NULL) if(argc > 2 && argv[1] != NULL && argv[2] != NULL)
{ {
autoboot = true; autoboot = true;
ResetBrowser(); ResetBrowser();
@ -487,7 +487,7 @@ int main(int argc, char *argv[])
strncpy(arg_filename, argv[2], sizeof(arg_filename)); strncpy(arg_filename, argv[2], sizeof(arg_filename));
strncpy(GCSettings.LoadFolder, dir.c_str(), sizeof(GCSettings.LoadFolder)); strncpy(GCSettings.LoadFolder, dir.c_str(), sizeof(GCSettings.LoadFolder));
OpenGameList(); OpenGameList();
strncpy(GCSettings.Exit_Dol_File, argv[3], sizeof(GCSettings.Exit_Dol_File)); strncpy(GCSettings.Exit_Dol_File, argv[3] != NULL ? argv[3] : "", sizeof(GCSettings.Exit_Dol_File));
if(argc > 5 && argv[4] != NULL && argv[5] != NULL) if(argc > 5 && argv[4] != NULL && argv[5] != NULL)
{ {
sscanf(argv[4], "%08x", &GCSettings.Exit_Channel[0]); sscanf(argv[4], "%08x", &GCSettings.Exit_Channel[0]);