diff options
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/src/cli-cmd-parser.c | 16 | 
1 files changed, 9 insertions, 7 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index b169b77c68d..090a7246913 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -1976,18 +1976,19 @@ cli_cmd_volume_status_parse (const char **words, int wordcount,  }  gf_boolean_t -cli_cmd_validate_dumpoption (const char *option) +cli_cmd_validate_dumpoption (const char *arg, char **option)  {          char    *opwords[] = {"all", "nfs", "mem", "iobuf", "callpool", "priv", -			      "fd", "inode", NULL}; +                              "fd", "inode", NULL};          char    *w = NULL; -        w = str_getunamb (option, opwords); +        w = str_getunamb (arg, opwords);          if (!w) {                  gf_log ("cli", GF_LOG_DEBUG, "Unknown statedump option  %s", -                        option); +                        arg);                  return _gf_false;          } +        *option = w;          return _gf_true;  } @@ -1999,14 +2000,15 @@ cli_cmd_volume_statedump_options_parse (const char **words, int wordcount,          int     i = 0;          dict_t  *dict = NULL;          int     option_cnt = 0; +        char    *option = NULL;          char    option_str[100] = {0,};          for (i = 3; i < wordcount; i++, option_cnt++) { -                if (!cli_cmd_validate_dumpoption (words[i])) { +                if (!cli_cmd_validate_dumpoption (words[i], &option)) {                          ret = -1;                          goto out;                  } -                strncat (option_str, words[i], sizeof (words [i])); +                strncat (option_str, option, strlen (option));                  strncat (option_str, " ", 1);          } @@ -2014,7 +2016,7 @@ cli_cmd_volume_statedump_options_parse (const char **words, int wordcount,          if (!dict)                  goto out; -        ret = dict_set_str (dict, "options", gf_strdup (option_str)); +        ret = dict_set_dynstr (dict, "options", gf_strdup (option_str));          if (ret)                  goto out;  | 
