From: Roy Marples Date: Thu, 20 Dec 2012 19:35:57 +0000 (+0000) Subject: Preserve the space in static routes on the command line. X-Git-Tag: v5.99.6~87 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=332a5fe6272ac96d673ef4c8dcbbf52e36db84ec;p=thirdparty%2Fdhcpcd.git Preserve the space in static routes on the command line. --- diff --git a/if-options.c b/if-options.c index 75cac3f1..5d319350 100644 --- a/if-options.c +++ b/if-options.c @@ -362,7 +362,7 @@ static int parse_option(struct if_options *ifo, int opt, const char *arg) { int i; - char *p = NULL, *np; + char *p = NULL, *fp, *np; ssize_t s; struct in_addr addr, addr2; struct rt *rt; @@ -686,7 +686,7 @@ parse_option(struct if_options *ifo, int opt, const char *arg) strncmp(arg, "classless_static_routes=", strlen("classless_static_routes=")) == 0 || strncmp(arg, "ms_classless_static_routes=", strlen("ms_classless_static_routes=")) == 0) { - np = strchr(p, ' '); + fp = np = strchr(p, ' '); if (np == NULL) { syslog(LOG_ERR, "all routes need a gateway"); return -1; @@ -706,7 +706,11 @@ parse_option(struct if_options *ifo, int opt, const char *arg) rt->next = NULL; if (parse_addr(&rt->dest, &rt->net, p) == -1 || parse_addr(&rt->gate, NULL, np) == -1) + { + *fp = ' '; return -1; + } + *fp = ' '; } else if (strncmp(arg, "routers=", strlen("routers=")) == 0) { if (ifo->routes == NULL) { rt = ifo->routes = xzalloc(sizeof(*rt));