summaryrefslogtreecommitdiff
path: root/gdb/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/command.c')
-rw-r--r--gdb/command.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gdb/command.c b/gdb/command.c
index 02ee4745a8c..ec67d960a2c 100644
--- a/gdb/command.c
+++ b/gdb/command.c
@@ -1696,8 +1696,17 @@ do_setshow_command (arg, from_tty, c)
for (i = 0; c->enums[i]; i++)
if (strncmp (arg, c->enums[i], len) == 0)
{
- match = c->enums[i];
- nmatches++;
+ if (c->enums[i][len] == '\0')
+ {
+ match = c->enums[i];
+ nmatches = 1;
+ break; /* exact match. */
+ }
+ else
+ {
+ match = c->enums[i];
+ nmatches++;
+ }
}
if (nmatches <= 0)