Module Name:    src
Committed By:   isaki
Date:           Sat Nov 28 02:56:14 UTC 2009

Modified Files:
        src/sys/arch/x68k/usr.bin/rtcalarm: rtcalarm.c

Log Message:
Modernize and clean up.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/x68k/usr.bin/rtcalarm/rtcalarm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/x68k/usr.bin/rtcalarm/rtcalarm.c
diff -u src/sys/arch/x68k/usr.bin/rtcalarm/rtcalarm.c:1.9 src/sys/arch/x68k/usr.bin/rtcalarm/rtcalarm.c:1.10
--- src/sys/arch/x68k/usr.bin/rtcalarm/rtcalarm.c:1.9	Sat Mar 14 21:04:17 2009
+++ src/sys/arch/x68k/usr.bin/rtcalarm/rtcalarm.c	Sat Nov 28 02:56:14 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rtcalarm.c,v 1.9 2009/03/14 21:04:17 dsl Exp $	*/
+/*	$NetBSD: rtcalarm.c,v 1.10 2009/11/28 02:56:14 isaki Exp $	*/
 /*
  * Copyright (c) 1995 MINOURA Makoto.
  * All rights reserved.
@@ -44,24 +44,19 @@
 #include <sys/ioctl.h>
 #include <machine/powioctl.h>
 
-char           *prog;
-
 static void usage(void) __attribute__((__noreturn__));
-static void myperror(const char *, int) __attribute__((__noreturn__));
-
 static void showinfo(void);
-static char    *numstr(unsigned int);
+static char *numstr(unsigned int);
 static void showontime(unsigned int);
-
 static void disablealarm(void);
-
 static void setinfo(int, char **);
 static int strnum(const char *, int);
 
+static char *devicefile = "/dev/pow0";	/* default path */
+
 int
 main(int argc, char *argv[])
 {
-	prog = argv[0];
 
 	if (argc == 1)
 		showinfo();
@@ -76,37 +71,26 @@
 static void
 usage(void)
 {
-	fprintf(stderr, "Usage: %s [[-w day-of-the-week] [-d day-of-the-month]\n", prog);
-	fprintf(stderr, "                [-m minites] [-s seconds] [-c channel] HH:MM]\n");
+	fprintf(stderr,
+		"Usage: %s [[-w day-of-the-week] [-d day-of-the-month]\n" 
+		"                [-m minites] [-s seconds] [-c channel] HH:MM]\n",
+		getprogname());
 
 	exit(1);
 }
 
 static void
-myperror(const char *str, int fd)
-{
-	fprintf(stderr, "%s: %s: %s\n", prog, str, strerror(errno));
-
-	if (fd >= 0)
-		close(fd);
-
-	exit(1);
-}
-
-
-
-static void
 showinfo(void)
 {
 	struct x68k_alarminfo alarminfo;
 	int             fd;
 
-	fd = open("/dev/pow0", O_RDONLY);
+	fd = open(devicefile, O_RDONLY);
 	if (fd < 0)
-		myperror("Opening /dev/pow0", -1);
+		err("Opening %s", devicefile);
 
 	if (ioctl(fd, POWIOCGALARMINFO, &alarminfo) < 0)
-		myperror("powiocgalarminfo", fd);
+		err("POWIOCGALARMINFO");
 	close(fd);
 
 	if (alarminfo.al_enable) {
@@ -119,6 +103,7 @@
 			printf("TV mode.\n");
 		else
 			printf("Computer mode. ADDR=%8.8x\n", alarminfo.al_dowhat);
+
 		if (alarminfo.al_offtime == 0)
 			printf("Never shut down automatically.\n");
 		else
@@ -130,7 +115,7 @@
 	}
 }
 
-static char    *
+static char *
 numstr(unsigned int num)
 {
 	static char     buffer[4];
@@ -150,8 +135,7 @@
 	return buffer;
 }
 
-const char     *weekname[] =
-{
+const char * const weekname[] = {
 	"Sunday",
 	"Monday",
 	"Tuesday",
@@ -164,6 +148,7 @@
 static void
 showontime(unsigned int ontime)
 {
+
 	printf("At %s:", numstr((ontime & 0x0000ff00) >> 8));
 	printf("%s ", numstr(ontime & 0x000000ff));
 
@@ -176,15 +161,15 @@
 			else
 				printf("on every %s, \n",
 				     weekname[(ontime & 0x0f000000) >> 24]);
-		} else
+		} else {
 			printf("on %sth in every month, \n",
 			       numstr((ontime & 0x00ff0000) >> 16));
-	} else
+		}
+	} else {
 		printf("everyday.\n");
+	}
 }
 
-
-
 static void
 disablealarm(void)
 {
@@ -193,16 +178,14 @@
 
 	alarminfo.al_enable = 0;
 
-	fd = open("/dev/pow0", O_WRONLY);
+	fd = open(devicefile, O_WRONLY);
 	if (fd < 0)
-		myperror("Opening /dev/pow0", -1);
+		err("Opening %s", devicefile);
 	if (ioctl(fd, POWIOCSALARMINFO, &alarminfo) < 0)
-		myperror("powiocsalarminfo", fd);
+		err("POWIOCSALARMINFO");
 	close(fd);
 }
 
-
-
 static void
 setinfo(int argc, char **argv)
 {
@@ -212,12 +195,10 @@
 	int             day = 0xff;
 	int             offtime = 0;
 	int             dowhat = 0;
-	extern char    *optarg;
-	extern int      optind;
 	int             fd;
 	struct x68k_alarminfo alarminfo;
 
-	while ((ch = getopt(argc, argv, "w:d:m:s:c:")) != -1)
+	while ((ch = getopt(argc, argv, "w:d:m:s:c:")) != -1) {
 		switch (ch) {
 		case 'w':	/* day of the week */
 			if ((week = strnum(optarg, 1)) < 0)
@@ -239,6 +220,7 @@
 				usage();
 			break;
 		}
+	}
 	if (optind != argc - 1)
 		usage();
 
@@ -256,11 +238,11 @@
 	alarminfo.al_dowhat = dowhat;
 	alarminfo.al_offtime = offtime * 60;
 
-	fd = open("/dev/pow0", O_WRONLY);
+	fd = open(devicefile, O_WRONLY);
 	if (fd < 0)
-		myperror("Opening /dev/pow0", -1);
+		err("Opening %s", devicefile);
 	if (ioctl(fd, POWIOCSALARMINFO, &alarminfo) < 0)
-		myperror("powiocsalarminfo", fd);
+		err("POWIOCSALARMINFO");
 	close(fd);
 }
 

Reply via email to