diff options
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-decode.c | 24 | ||||
-rw-r--r-- | gdb/cli/cli-script.c | 2 |
2 files changed, 15 insertions, 11 deletions
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index 7ace72f..307fd1e 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -1372,7 +1372,7 @@ find_command_name_length (const char *text) if (*p == '!' || *p == '|') return 1; - while (isalnum (*p) || *p == '-' || *p == '_' + while (valid_cmd_char_p (*p) /* Characters used by TUI specific commands. */ || *p == '+' || *p == '<' || *p == '>' || *p == '$') p++; @@ -1380,9 +1380,18 @@ find_command_name_length (const char *text) return p - text; } -/* Return TRUE if NAME is a valid user-defined command name. - This is a stricter subset of all gdb commands, - see find_command_name_length. */ +/* See command.h. */ + +bool +valid_cmd_char_p (int c) +{ + /* Alas "42" is a legitimate user-defined command. + In the interests of not breaking anything we preserve that. */ + + return isalnum (c) || c == '-' || c == '_' || c == '.'; +} + +/* See command.h. */ bool valid_user_defined_cmd_name_p (const char *name) @@ -1392,14 +1401,9 @@ valid_user_defined_cmd_name_p (const char *name) if (*name == '\0') return false; - /* Alas "42" is a legitimate user-defined command. - In the interests of not breaking anything we preserve that. */ - for (p = name; *p != '\0'; ++p) { - if (isalnum (*p) - || *p == '-' - || *p == '_') + if (valid_cmd_char_p (*p)) ; /* Ok. */ else return false; diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c index 55dcb34..10824a3 100644 --- a/gdb/cli/cli-script.c +++ b/gdb/cli/cli-script.c @@ -1342,7 +1342,7 @@ validate_comname (const char **comname) p = *comname; while (*p) { - if (!isalnum (*p) && *p != '-' && *p != '_') + if (!valid_cmd_char_p (*p)) error (_("Junk in argument list: \"%s\""), p); p++; } |