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.
This commit is contained in:
Pedro Alves
2019-06-13 00:06:52 +01:00
parent cbba3ecd36
commit 93bcb04349
2 changed files with 12 additions and 4 deletions

View File

@@ -1,3 +1,7 @@
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-setshow.c (is_unlimited_literal): Allow abbreviations.
2019-06-13 Pedro Alves <palves@redhat.com>
* ax-gdb.c (agent_command_1): Remove skip_spaces call.

View File

@@ -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;
}