diff options
author | eadler <eadler@FreeBSD.org> | 2013-12-04 20:03:55 +0000 |
---|---|---|
committer | eadler <eadler@FreeBSD.org> | 2013-12-04 20:03:55 +0000 |
commit | 5b7b235216708586ef17609857cb01a6048fb90b (patch) | |
tree | 6aef1cc4182f5c476b9b059e8ccb00a73d2f97d4 /sbin/route | |
parent | e0a6206e5d6bb11d82727ca33feb8dea372756cb (diff) | |
download | FreeBSD-src-5b7b235216708586ef17609857cb01a6048fb90b.zip FreeBSD-src-5b7b235216708586ef17609857cb01a6048fb90b.tar.gz |
route(1): Pull static buffer out of the function and into function scope.
This will make it easier to link as a library.
Submitted by: Sebastian Huber <sebastian.huber@embedded-brains.de> (older version)
Discussed on: -hackers
Diffstat (limited to 'sbin/route')
-rw-r--r-- | sbin/route/route.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sbin/route/route.c b/sbin/route/route.c index 78a3792..a5e8419 100644 --- a/sbin/route/route.c +++ b/sbin/route/route.c @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include <err.h> #include <errno.h> #include <paths.h> +#include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -92,6 +93,8 @@ static u_long rtm_inits; static uid_t uid; static int defaultfib; static int numfibs; +static char domain[MAXHOSTNAMELEN + 1]; +static bool domain_initialized; static int atalk_aton(const char *, struct at_addr *); static char *atalk_ntoa(struct at_addr, char [ATALK_BUF_SIZE]); @@ -499,12 +502,10 @@ routename(struct sockaddr *sa) const char *cp; char atalk_buf[ATALK_BUF_SIZE]; static char line[NI_MAXHOST]; - static char domain[MAXHOSTNAMELEN + 1]; - static int first = 1; int n; - if (first) { - first = 0; + if (!domain_initialized) { + domain_initialized = true; if (gethostname(domain, MAXHOSTNAMELEN) == 0 && (cp = strchr(domain, '.'))) { domain[MAXHOSTNAMELEN] = '\0'; |