summaryrefslogtreecommitdiffstats
path: root/usr.sbin/xntpd/util/tickadj.c
diff options
context:
space:
mode:
authorcharnier <charnier@FreeBSD.org>1998-01-22 07:28:26 +0000
committercharnier <charnier@FreeBSD.org>1998-01-22 07:28:26 +0000
commitda58dd2ba551203c15ed4f1d4985cdbb75baf6cc (patch)
treea174eb2eaaa0a9f47b70bc1e4effb008dee86b20 /usr.sbin/xntpd/util/tickadj.c
parent9267e7fa62cdd9f8bbb30e16f67b83a1abf2bf85 (diff)
downloadFreeBSD-src-da58dd2ba551203c15ed4f1d4985cdbb75baf6cc.zip
FreeBSD-src-da58dd2ba551203c15ed4f1d4985cdbb75baf6cc.tar.gz
Add rcsid. Add usage() with up to date flag list. Use err(3).
Diffstat (limited to 'usr.sbin/xntpd/util/tickadj.c')
-rw-r--r--usr.sbin/xntpd/util/tickadj.c111
1 files changed, 43 insertions, 68 deletions
diff --git a/usr.sbin/xntpd/util/tickadj.c b/usr.sbin/xntpd/util/tickadj.c
index d3781c5..9ba0e65 100644
--- a/usr.sbin/xntpd/util/tickadj.c
+++ b/usr.sbin/xntpd/util/tickadj.c
@@ -5,6 +5,12 @@
* able to read and write the binary as well, but haven't
* mastered this yet.
*/
+
+#ifndef lint
+static const char rcsid[] =
+ "$Id$";
+#endif /* not lint */
+
#include <stdio.h>
#if !defined(SYS_VAX) && !defined(SYS_BSD)
@@ -45,6 +51,7 @@ main(int argc, char ** argv)
}
#else /* not Linux... kmem tweaking: */
+#include <err.h>
#include <sys/types.h>
#ifndef SYS_BSD
#include <sys/file.h>
@@ -86,7 +93,6 @@ main(int argc, char ** argv)
#define KMEM "/dev/kmem"
#define STREQ(a, b) (*(a) == *(b) && strcmp((a), (b)) == 0)
-char *progname;
int debug;
int dokmem = 1;
@@ -107,10 +113,17 @@ static int openfile P((char *, int));
static void writevar P((int, unsigned long, int));
static void readvar P((int, unsigned long, int *));
+static void
+usage()
+{
+ fprintf(stderr, "usage: tickadj [-Adkpqs] [-a newadj] [-t newtick]\n");
+ exit(2);
+}
+
/*
* main - parse arguments and handle options
*/
-void
+int
main(argc, argv)
int argc;
char *argv[];
@@ -135,7 +148,6 @@ char *argv[];
void readvar();
void writevar();
- progname = argv[0];
while ((c = ntp_getopt(argc, argv, "a:Adkqpst:")) != EOF)
switch (c) {
case 'd':
@@ -153,9 +165,8 @@ char *argv[];
case 'a':
writetickadj = atoi(ntp_optarg);
if (writetickadj <= 0) {
- (void) fprintf(stderr,
- "%s: unlikely value for tickadj: %s\n",
- progname, ntp_optarg);
+ warnx("unlikely value for tickadj: %s",
+ ntp_optarg);
errflg++;
}
break;
@@ -168,9 +179,8 @@ char *argv[];
case 't':
writetick = atoi(ntp_optarg);
if (writetick <= 0) {
- (void) fprintf(stderr,
- "%s: unlikely value for tick: %s\n",
- progname, ntp_optarg);
+ warnx("unlikely value for tick: %s",
+ ntp_optarg);
errflg++;
}
break;
@@ -178,11 +188,8 @@ char *argv[];
errflg++;
break;
}
- if (errflg || ntp_optind != argc) {
- (void) fprintf(stderr,
- "usage: %s [-Aqsp] [-a newadj] [-t newtick]\n", progname);
- exit(2);
- }
+ if (errflg || ntp_optind != argc)
+ usage();
kernel = getoffsets(kernel, &tick_offset,
&tickadj_offset, &dosync_offset, &noprintf_offset);
@@ -194,26 +201,22 @@ char *argv[];
}
if (setnoprintf && (noprintf_offset == 0)) {
- (void) fprintf(stderr,
- "No noprintf kernal variable\n");
+ warnx("no noprintf kernel variable");
errflg++;
}
if (unsetdosync && (dosync_offset == 0)) {
- (void) fprintf(stderr,
- "No dosynctodr kernal variable\n");
+ warnx("no dosynctodr kernel variable");
errflg++;
}
if (writeopttickadj && (tickadj_offset == 0)) {
- (void) fprintf(stderr,
- "No tickadj kernal variable\n");
+ warnx("no tickadj kernel variable");
errflg++;
}
if (writetick && (tick_offset == 0)) {
- (void) fprintf(stderr,
- "No tick kernal variable\n");
+ warnx("no tick kernel variable");
errflg++;
}
@@ -233,11 +236,8 @@ char *argv[];
readvar(fd, noprintf_offset, &noprintf);
(void) close(fd);
- if (unsetdosync && dosync_offset == 0) {
- (void) fprintf(stderr,
- "%s: can't find dosynctodr in namelist\n", progname);
- exit(1);
- }
+ if (unsetdosync && dosync_offset == 0)
+ errx(1, "can't find dosynctodr in namelist");
if (!quiet) {
(void) printf("tick = %d us",tick);
@@ -250,11 +250,8 @@ char *argv[];
(void) printf("kernel level printf's: %s\n", noprintf ? "off" : "on");
}
- if (tick <= 0) {
- (void) fprintf(stderr, "%s: the value of tick is silly!\n",
- progname);
- exit(1);
- }
+ if (tick <= 0)
+ errx(1, "the value of tick is silly!");
hz = (int)(1000000L / (long)tick);
hz_hundredths = (int)((100000000L / (long)tick) - ((long)hz * 100L));
@@ -458,12 +455,8 @@ getoffsets(filex, tick_off, tickadj_off, dosync_off, noprintf_off)
break;
}
#endif
- if (*kname == NULL) {
- (void) fprintf(stderr,
- "%s: nlist fails: can't find/read /vmunix or /unix\n",
- progname);
- exit(1);
- }
+ if (*kname == NULL)
+ errx(1, "nlist fails: can't find/read kernel boot file name");
if (dokmem)
file = kmem;
@@ -521,11 +514,8 @@ openfile(name, mode)
int fd;
fd = open(name, mode);
- if (fd < 0) {
- (void) fprintf(stderr, "%s: open %s: ", progname, name);
- perror("");
- exit(1);
- }
+ if (fd < 0)
+ err(1, "open %s", name);
return fd;
}
@@ -540,16 +530,10 @@ writevar(fd, off, var)
int var;
{
- if (lseek(fd, off, L_SET) == -1) {
- (void) fprintf(stderr, "%s: lseek fails: ", progname);
- perror("");
- exit(1);
- }
- if (write(fd, (char *)&var, sizeof(int)) != sizeof(int)) {
- (void) fprintf(stderr, "%s: write fails: ", progname);
- perror("");
- exit(1);
- }
+ if (lseek(fd, off, L_SET) == -1)
+ err(1, "lseek fails");
+ if (write(fd, (char *)&var, sizeof(int)) != sizeof(int))
+ err(1, "write fails");
}
@@ -564,21 +548,12 @@ readvar(fd, off, var)
{
int i;
- if (lseek(fd, off, L_SET) == -1) {
- (void) fprintf(stderr, "%s: lseek fails: ", progname);
- perror("");
- exit(1);
- }
+ if (lseek(fd, off, L_SET) == -1)
+ err(1, "lseek fails");
i = read(fd, (char *)var, sizeof(int));
- if (i < 0) {
- (void) fprintf(stderr, "%s: read fails: ", progname);
- perror("");
- exit(1);
- }
- if (i != sizeof(int)) {
- (void) fprintf(stderr, "%s: read expected %d, got %d\n",
- progname, (int)sizeof(int), i);
- exit(1);
- }
+ if (i < 0)
+ err(1, "read fails");
+ if (i != sizeof(int))
+ errx(1, "read expected %d, got %d", (int)sizeof(int), i);
}
#endif /* not Linux */
OpenPOWER on IntegriCloud