summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@nvidia.com>2021-03-18 15:31:35 -0400
committerQuentin Young <qlyoung@nvidia.com>2021-04-07 13:39:56 -0400
commit767f67a4560ce9cce41d0183aed46cb2495b7f9a (patch)
tree3b121258b748db3643b484c4ae7373ffd57945df
parentc53b1ff1980084507452026fc9b1bfe27cc66de6 (diff)
lib, vtysh: re-add support for spaces in 'find'
Lost ability to handle them in the regex patch Signed-off-by: Quentin Young <qlyoung@nvidia.com>
-rw-r--r--lib/command.c5
-rw-r--r--vtysh/vtysh.c8
2 files changed, 7 insertions, 6 deletions
diff --git a/lib/command.c b/lib/command.c
index 770e2fc5ac..d2798b5002 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -2226,18 +2226,19 @@ DEFUN (no_banner_motd,
DEFUN(find,
find_cmd,
- "find REGEX",
+ "find REGEX...",
"Find CLI command matching a regular expression\n"
"Search pattern (POSIX regex)\n")
{
- char *pattern = argv[1]->arg;
const struct cmd_node *node;
const struct cmd_element *cli;
vector clis;
regex_t exp = {};
+ char *pattern = argv_concat(argv, argc, 1);
int cr = regcomp(&exp, pattern, REG_NOSUB | REG_EXTENDED);
+ XFREE(MTYPE_TMP, pattern);
if (cr != 0) {
switch (cr) {
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index 3764188292..839d5dd1ec 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -3719,19 +3719,19 @@ DEFUN (no_vtysh_output_file,
DEFUN(find,
find_cmd,
- "find REGEX",
+ "find REGEX...",
"Find CLI command matching a regular expression\n"
"Search pattern (POSIX regex)\n")
{
- char *pattern = argv[1]->arg;
const struct cmd_node *node;
const struct cmd_element *cli;
vector clis;
-
regex_t exp = {};
-
+ char *pattern = argv_concat(argv, argc, 1);
int cr = regcomp(&exp, pattern, REG_NOSUB | REG_EXTENDED);
+ XFREE(MTYPE_TMP, pattern);
+
if (cr != 0) {
switch (cr) {
case REG_BADBR: