diff options
author | Pedro Alves <palves@redhat.com> | 2019-05-30 20:40:14 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2019-05-30 20:40:14 +0100 |
commit | fd46f8af3321e052be3e3ccca33acaef563a1be3 (patch) | |
tree | cc9fa54dfe8c5138f268aab21be0f378219eb2c6 | |
parent | bfbf278fa9240d94ba34785919f140806cc7af1b (diff) | |
download | binutils-gdb-fd46f8af3321e052be3e3ccca33acaef563a1be3.tar.gz |
Allow "unlimited" abbreviations
Currently we can abbreviate "on/off/enable/disable/yes/no" in boolean
settings,
(gdb) set non-stop of
(gdb) set non-stop en
we can abbreviate the items of enumeration commands,
(gdb) set print frame-arguments scal
(gdb) set scheduler-locking rep
but we cannot abbreviate "unlimited" in integer commands.
(gdb) set print elements u
No symbol "u" in current context.
This commit fixes that.
Testcases will be in gdb.base/settings.exp and gdb.base/options.exp,
in following patches.
gdb/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* cli/cli-setshow.c (is_unlimited_literal): Allow abbreviations.
-rw-r--r-- | gdb/cli/cli-setshow.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c index 5b87f905d0d..96d7bf5c3c0 100644 --- a/gdb/cli/cli-setshow.c +++ b/gdb/cli/cli-setshow.c @@ -132,12 +132,16 @@ deprecated_show_value_hack (struct ui_file *ignore_file, static int is_unlimited_literal (const char *arg) { - size_t len = sizeof ("unlimited") - 1; - arg = skip_spaces (arg); - return (strncmp (arg, "unlimited", len) == 0 - && (isspace (arg[len]) || arg[len] == '\0')); + const char *p = skip_to_space (arg); + + size_t len = p - arg; + + if (len > 0 && strncmp ("unlimited", arg, len) == 0) + return true; + + return false; } |