summaryrefslogtreecommitdiffstats
path: root/contrib/bind/bin/ndc/ndc.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind/bin/ndc/ndc.c')
-rw-r--r--contrib/bind/bin/ndc/ndc.c44
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
OpenPOWER on IntegriCloud