diff options
| author | Csaba Henk <csaba@redhat.com> | 2012-10-01 15:06:43 +0200 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2012-10-11 18:11:36 -0700 | 
| commit | 68433db9ba07267c72d169b3ed4892e052e2eae2 (patch) | |
| tree | 48483c7f8bea3586bfae4a5807659f39fe3eab46 /cli | |
| parent | dde806643b736d9c24b4c62ac6826a02929ec4a5 (diff) | |
cli: introduce "--" as option terminator
This way it becomes possible to pass option-like arguments to
cli commands.
Change-Id: I8eb1a44ce5d1bfe901d2b3e7cc7bfb84bb3012c9
BUG: 815194
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.org/4007
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/src/cli.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/cli/src/cli.c b/cli/src/cli.c index 416cb50bc37..7788ce38914 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -283,11 +283,20 @@ cli_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event,          return ret;  } + +/* + * ret: 0: option successfully processed + *      1: signalling end of option list + *     -1: unknown option or other issue + */  int  cli_opt_parse (char *opt, struct cli_state *state)  {          char *oarg; +        if (strcmp (opt, "") == 0) +                return 1; +          if (strcmp (opt, "version") == 0) {                  puts (argp_program_version);                  exit (0); @@ -360,6 +369,11 @@ parse_cmdline (int argc, char *argv[], struct cli_state *state)                          state->argc--;                          /* argv shifted, next check should be at i again */                          i--; +                        if (ret == 1) { +                                /* end of cli options */ +                                ret = 0; +                                break; +                        }                  }          }  | 
