aboutsummaryrefslogtreecommitdiff
path: root/sim/common/sim-options.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/common/sim-options.c')
-rw-r--r--sim/common/sim-options.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c
index d4434cf..ab95984 100644
--- a/sim/common/sim-options.c
+++ b/sim/common/sim-options.c
@@ -416,7 +416,7 @@ standard_install (SIM_DESC sd)
/* Return non-zero if arg is a duplicate argument.
If ARG is NULL, initialize. */
-#define ARG_HASH_SIZE 97
+#define ARG_HASH_SIZE 256
#define ARG_HASH(a) ((256 * (unsigned char) a[0] + (unsigned char) a[1]) % ARG_HASH_SIZE)
static int
@@ -478,6 +478,9 @@ sim_parse_args (SIM_DESC sd, char * const *argv)
for (opt = ol->options; OPTION_VALID_P (opt); ++opt)
++num_opts;
+ /* We build a hash table of all options, so make sure they all fit. */
+ SIM_ASSERT (num_opts <= ARG_HASH_SIZE);
+
/* Initialize duplicate argument checker. */
(void) dup_arg_p (NULL);