[v2,05/24] Allow "unlimited" abbreviations
Commit Message
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.
---
gdb/cli/cli-setshow.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
@@ -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;
}