aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2019-06-13 00:06:52 +0100
committerPedro Alves <palves@redhat.com>2019-06-13 00:09:11 +0100
commit93bcb04349eb500781747a542ececc7a8ba3bd95 (patch)
tree3fe2fc17f6650811e6c426c316bfa9a5f8790df9 /gdb/cli
parentcbba3ecd36f0f861e4e810fbd5415c9759080cdc (diff)
downloadbinutils-93bcb04349eb500781747a542ececc7a8ba3bd95.zip
binutils-93bcb04349eb500781747a542ececc7a8ba3bd95.tar.gz
binutils-93bcb04349eb500781747a542ececc7a8ba3bd95.tar.bz2
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: 2019-06-13 Pedro Alves <palves@redhat.com> * cli/cli-setshow.c (is_unlimited_literal): Allow abbreviations.
Diffstat (limited to 'gdb/cli')
-rw-r--r--gdb/cli/cli-setshow.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c
index 5b87f90..96d7bf5 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;
}