X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=rmac.c;h=933da5f2bdfa2e07c9321591aacf5b2d5adeef13;hp=4fb1582a725c603ff64663bad92b59a63d008ba9;hb=ac3149e4607a5a07b212ba85a0fe44614b9aeec4;hpb=9afaf60ca24cdb08f900ae584107e29e3af46566 diff --git a/rmac.c b/rmac.c index 4fb1582..933da5f 100644 --- a/rmac.c +++ b/rmac.c @@ -243,15 +243,17 @@ int ParseOptimization(char * optstring) else { int opt_no = atoi(&optstring[2]); + if ((opt_no >= 0) && (opt_no < OPT_COUNT)) { optim_flags[opt_no] = onoff; optstring += 3; + // If opt_no is 2 digits then consume an extra character. // Sounds a bit sleazy but we know we're not going to hit - // more than 100 optimisation switches so this should be fine. - // If we do hit that number then it'll probably be time to burn - // the whole codebase and start from scratch. + // more than 100 optimisation switches so this should be + // fine. If we do hit that number then it'll probably be + // time to burn the whole codebase and start from scratch. if (opt_no > 9) optstring++; } @@ -263,6 +265,7 @@ int ParseOptimization(char * optstring) { return ERROR; } + if (*optstring == ',') optstring++; }