From: Roy Marples Date: Mon, 1 Dec 2008 16:56:56 +0000 (+0000) Subject: Add desc_route to save some bytes. X-Git-Tag: v5.0.0~159 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb10befc1caa5d518da26da9822f030bda082cfd;p=thirdparty%2Fdhcpcd.git Add desc_route to save some bytes. --- diff --git a/configure.c b/configure.c index 768aa964..a5c9903d 100644 --- a/configure.c +++ b/configure.c @@ -217,26 +217,37 @@ find_route(struct rt *rts, const struct rt *r, struct rt **lrt, return NULL; } -static int -n_route(struct rt *rt, const struct interface *iface) +static void +desc_route(int action, const struct rt *rt, const char *ifname) { char *addr; + const char *cmd; + + cmd = action == 1 ? "adding" : "deleting"; + addr = xstrdup(inet_ntoa(rt->dest)); + if (rt->gate.s_addr == INADDR_ANY) + syslog(LOG_DEBUG, "%s: %s route to %s/%d", ifname, cmd, + addr, inet_ntocidr(rt->net)); + else if (rt->gate.s_addr == rt->dest.s_addr && + rt->net.s_addr == INADDR_BROADCAST) + syslog(LOG_DEBUG, "%s: %s host route to %s", ifname, cmd, + addr); + else + syslog(LOG_DEBUG, "%s: %s route to %s/%d via %s", ifname, cmd, + addr, inet_ntocidr(rt->net), inet_ntoa(rt->gate)); + free(addr); +} +static int +n_route(struct rt *rt, const struct interface *iface) +{ /* Don't set default routes if not asked to */ if (rt->dest.s_addr == 0 && rt->net.s_addr == 0 && !(iface->state->options->options & DHCPCD_GATEWAY)) return -1; - addr = xstrdup(inet_ntoa(rt->dest)); - if (rt->gate.s_addr == INADDR_ANY) - syslog(LOG_DEBUG, "%s: adding route to %s/%d", - iface->name, addr, inet_ntocidr(rt->net)); - else - syslog(LOG_DEBUG, "%s: adding route to %s/%d via %s", - iface->name, addr, - inet_ntocidr(rt->net), inet_ntoa(rt->gate)); - free(addr); + desc_route(1, rt, iface->name); if (!add_route(iface, &rt->dest, &rt->net, &rt->gate, iface->metric)) return 0; if (errno == EEXIST) { @@ -248,7 +259,7 @@ n_route(struct rt *rt, const struct interface *iface) else return -1; } - syslog(LOG_ERR, "add_route: %m"); + syslog(LOG_ERR, "%s: add_route: %m", iface->name); return -1; } @@ -273,28 +284,19 @@ c_route(struct rt *ort, struct rt *nrt, const struct interface *iface) del_route(ort->iface, &ort->dest, &ort->net, &ort->gate, ort->iface->metric); if (!add_route(iface, &nrt->dest, &nrt->net, &nrt->gate, iface->metric)) return 0; - syslog(LOG_ERR, "add_route: %m"); + syslog(LOG_ERR, "%s: add_route: %m", iface->name); return -1; } static int d_route(struct rt *rt, const struct interface *iface, int metric) { - char *addr; int retval; - addr = xstrdup(inet_ntoa(rt->dest)); - if (rt->gate.s_addr == INADDR_ANY) - syslog(LOG_DEBUG, "%s: deleting route %s/%d", iface->name, - addr, inet_ntocidr(rt->net)); - else - syslog(LOG_DEBUG, "%s: deleting route %s/%d via %s", - iface->name, addr, - inet_ntocidr(rt->net), inet_ntoa(rt->gate)); - free(addr); + desc_route(-1, rt, iface->name); retval = del_route(iface, &rt->dest, &rt->net, &rt->gate, metric); if (retval != 0 && errno != ENOENT && errno != ESRCH) - syslog(LOG_ERR," del_route: %m"); + syslog(LOG_ERR,"%s: del_route: %m", iface->name); return retval; }