+2000-11-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * sim-options.c (sim_parse_args): Free the memory used for
+ long_options, short_options, handlers, opt_cpu, orig_val.
+
2000-11-20 Ben Elliston <bje@redhat.com>
* cgen-ops.h (SUBBI): New macro.
const OPTION *opt;
OPTION_HANDLER **handlers;
sim_cpu **opt_cpu;
+ SIM_RC result = SIM_RC_OK;
/* Count the number of arguments. */
for (argc = 0; argv[argc] != NULL; ++argc)
if (opt->shortopt != 0)
{
sim_io_eprintf (sd, "internal error, short cpu specific option");
- return SIM_RC_FAIL;
+ result = SIM_RC_FAIL;
+ break;
}
if (opt->opt.name != NULL)
{
break;
}
if (optc == '?')
- return SIM_RC_FAIL;
+ {
+ result = SIM_RC_FAIL;
+ break;
+ }
if ((*handlers[optc]) (sd, opt_cpu[optc], orig_val[optc], optarg, 0/*!is_command*/) == SIM_RC_FAIL)
- return SIM_RC_FAIL;
+ {
+ result = SIM_RC_FAIL;
+ break;
+ }
}
- return SIM_RC_OK;
+ zfree (long_options);
+ zfree (short_options);
+ zfree (handlers);
+ zfree (opt_cpu);
+ zfree (orig_val);
+ return result;
}
/* Utility of sim_print_help to print a list of option tables. */