From: Ben F. <be...@ka...> - 2004-10-04 09:28:08
|
> I just have no idea. It works for me. And zloaderw.c hasn't been > touched in 11 months, so no recent activity would have fixed > anything. Without being able to reproduce the problem, there's little > I can do. It's been broken for close to that length of time, apparently (from other users in the forums with the same problem.) > Ben, you might still try peppering the code with some debug-flavored > printf statements, in an effort to find out what's going on here...if > the "load a file at start time" code is even being called at all, or > if it's throwing an error of some sort. I gave it a precursory lookover. It doesn't appear that the code to load the rom is ever loaded. If I comment out the if(optopt == '?') condition as shown below, it loads the game fine. It does exit with an invalid pointer warning though. What is the question mark supposed to mean, anyways? Should it be NULL instead? From the limited getopt knowledge I have, I don't this is strictly necessary, as the if(argv[optind] != NULL) should take care of that. ben@pluto ~/Projects $ diff -u zsnes/src/linux/zloaderw.c.orig zsnes/src/linux/zloaderw.c --- zsnes/src/linux/zloaderw.c.orig 2003-10-22 20:10:08.000000000 -0700 +++ zsnes/src/linux/zloaderw.c 2004-10-04 02:18:40.744794080 -0700 @@ -336,8 +336,8 @@ } /* execute rom filename: file.x */ - if (optopt == '?') - { +// if (optopt == '?') +// { if (argv[optind] != NULL) { fvar=&fname; @@ -345,7 +345,7 @@ strncpy(&fvar[1], argv[optind],127); makeextension(); } - } +// } zstart(); return 0; -b |