diff options
Diffstat (limited to 'contrib/bind/bin/ndc/ndc.c')
-rw-r--r-- | contrib/bind/bin/ndc/ndc.c | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/contrib/bind/bin/ndc/ndc.c b/contrib/bind/bin/ndc/ndc.c index 9daf69f..aa0e4a3 100644 --- a/contrib/bind/bin/ndc/ndc.c +++ b/contrib/bind/bin/ndc/ndc.c @@ -1,5 +1,5 @@ #if !defined(lint) && !defined(SABER) -static const char rcsid[] = "$Id: ndc.c,v 1.16.2.1 2001/04/26 02:56:10 marka Exp $"; +static const char rcsid[] = "$Id: ndc.c,v 1.21 2001/12/19 23:16:23 marka Exp $"; #endif /* not lint */ /* @@ -60,7 +60,7 @@ typedef void (*closure)(void *, const char *, int); static const char * program = "amnesia"; static enum { e_channel, e_signals } mode = e_channel; -static char * channel = _PATH_NDCSOCK; +static const char * channel = _PATH_NDCSOCK; static const char helpfmt[] = "\t%-16s\t%s\n"; static const char * pidfile = _PATH_PIDFILE; static sockaddr_t client, server; @@ -77,23 +77,23 @@ static int builtincmd(void); static void command(void); static int running(int, pid_t *); static void command_channel(void); -static void channel_loop(char *, int, closure, void *); +static void channel_loop(const char *, int, closure, void *); static void getpid_closure(void *, const char *, int); static void banner(struct ctl_cctx *, void *, const char *, u_int); static void done(struct ctl_cctx *, void *, const char *, u_int); -static void logger(enum ctl_severity, const char *fmt, ...); +static void logger(enum ctl_severity, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3); static void command_signals(void); static void stop_named(pid_t); static void start_named(const char *, int); static int fgetpid(const char *, pid_t *); -static int get_sockaddr(char *, sockaddr_t *); +static int get_sockaddr(const char *, sockaddr_t *); static size_t impute_addrlen(const struct sockaddr *); static void vtrace(const char *, va_list); -static void trace(const char *, ...); -static void result(const char *, ...); -static void fatal(const char *, ...); -static void verror(const char *, va_list); -static void error(const char *, ...); +static void trace(const char *, ...) ISC_FORMAT_PRINTF(1, 2); +static void result(const char *, ...) ISC_FORMAT_PRINTF(1, 2); +static void fatal(const char *, ...) ISC_FORMAT_PRINTF(1, 2); +static void verror(const char *, va_list) ISC_FORMAT_PRINTF(1, 0); +static void error(const char *, ...) ISC_FORMAT_PRINTF(1, 2); static void usage(const char *fmt, ...) { @@ -114,7 +114,7 @@ usage(const char *fmt, ...) { /* Public. */ int -main(int argc, char *argv[], char *envp[]) { +main(int argc, char *argv[]) { char *p; int ch; @@ -402,7 +402,7 @@ struct args { }; static void -channel_loop(char *cmdtext, int show, closure cl, void *ua) { +channel_loop(const char *cmdtext, int show, closure cl, void *ua) { struct ctl_cctx *ctl; struct sockaddr *client_addr; struct args a; @@ -457,6 +457,8 @@ static void done(struct ctl_cctx *ctl, void *uap, const char *msg, u_int flags) { struct args *a = uap; + UNUSED(ctl); + if (msg == NULL) { trace("EOF"); doneflag = 1; @@ -488,6 +490,7 @@ logger(enum ctl_severity ctlsev, const char *format, ...) { verror(format, args); break; default: + va_end(args); abort(); } va_end(args); @@ -507,7 +510,7 @@ static struct cmdsig { { "querylog", SIGWINCH, "toggle query logging" }, { "qrylog", SIGWINCH, "alias for querylog" }, #endif - { NULL, 0 } + { NULL, 0, NULL } }; static void @@ -599,15 +602,15 @@ fgetpid(const char *f, pid_t *pid) { long t; for (try = 0; try < 5; try++) { - trace("pidfile is \"%s\" (try #%d)", pidfile, try + 1); - if ((fp = fopen(pidfile, "r")) == NULL) + trace("pidfile is \"%s\" (try #%d)", f, try + 1); + if ((fp = fopen(f, "r")) == NULL) trace("pid file (%s) unavailable - %s", - pidfile, strerror(errno)); + f, strerror(errno)); else if (fscanf(fp, "%ld\n", &t) != 1) - trace("pid file (%s) format is bad", pidfile); + trace("pid file (%s) format is bad", f); else if (*pid = (pid_t)t, fclose(fp), kill(*pid, 0) < 0) trace("pid file (%s) contains unusable pid (%d) - %s", - pidfile, *pid, strerror(errno)); + f, *pid, strerror(errno)); else { trace("pid is %ld", (long)*pid); return (1); @@ -619,7 +622,7 @@ fgetpid(const char *f, pid_t *pid) { } static int -get_sockaddr(char *name, sockaddr_t *addr) { +get_sockaddr(const char *name, sockaddr_t *addr) { char *slash; #ifndef NO_SOCKADDR_UN @@ -651,7 +654,7 @@ get_sockaddr(char *name, sockaddr_t *addr) { static size_t impute_addrlen(const struct sockaddr *sa) { - if (sa == 0) + if (sa == NULL) return (0); switch (sa->sa_family) { case AF_INET: @@ -663,6 +666,7 @@ impute_addrlen(const struct sockaddr *sa) { default: abort(); } + /*NOTREACHED*/ } static void |