On Wed, Jun 11, 2014 at 11:25:44AM +0900, Hitoshi Mitake wrote: > New environment variables are used for specifying IP address and port > number: > - SHEEPDOG_DOG_ADDR for IP address > - SHEEPDOG_DOG_PORT for port number > > It is useful when sheep is launched with -b option. > > If both of the variables and -a or -p option are specified, command > line option is prioritized. > > Related issue: > https://bugs.launchpad.net/sheepdog-project/+bug/1322633 > > Cc: Valerio Pachera <siri...@gmail.com> > Signed-off-by: Hitoshi Mitake <mitake.hito...@lab.ntt.co.jp> > --- > dog/dog.c | 22 +++++++++++++++++++++- > 1 files changed, 21 insertions(+), 1 deletions(-) > > diff --git a/dog/dog.c b/dog/dog.c > index 1eefbdc..7d1153d 100644 > --- a/dog/dog.c > +++ b/dog/dog.c > @@ -449,7 +449,7 @@ int main(int argc, char **argv) > struct option *long_options; > const struct command *commands; > const char *short_options; > - char *p; > + char *p, *env; > const struct sd_option *sd_opts; > uint8_t sdhost[16]; > int sdport; > @@ -471,6 +471,26 @@ int main(int argc, char **argv) > long_options = build_long_options(sd_opts); > short_options = build_short_options(sd_opts); > > + env = getenv("SHEEPDOG_DOG_ADDR"); > + if (env) { > + if (!str_to_addr(env, sdhost)) { > + sd_err("Invalid ip address %s", env); > + return EXIT_FAILURE; > + } > + memcpy(sd_nid.addr, sdhost, sizeof(sdhost)); > + } > + > + env = getenv("SHEEPDOG_DOG_PORT"); > + if (env) { > + sdport = strtol(env, &p, 10); > + if (env == p || sdport < 1 || sdport > UINT16_MAX > + || !is_numeric(env)) { > + sd_err("Invalid port number '%s'", env); > + exit(EXIT_USAGE); > + } > + sd_nid.port = sdport; > + } > + > while ((ch = getopt_long(argc, argv, short_options, long_options, > &longindex)) >= 0) { > > -- > 1.7.1 > > -- > sheepdog mailing list > sheepdog@lists.wpkg.org > http://lists.wpkg.org/mailman/listinfo/sheepdog
Applied thanks Yuan -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog