This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v3 05/24] 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.
---
 gdb/cli/cli-setshow.c | 12 ++++++++----
 1 file 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;
 }
 
 
-- 
2.14.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]