art@pilikia.pegasus.com (Authur W. Neilson III) (04/11/91)
Submitted-by: Authur W. Neilson III <art@pilikia.pegasus.com> Posting-number: Volume 18, Issue 11 Archive-name: upsd/patch01 Patch-To: upsd: Volume 18, Issue 5 This is an update to the UPS monitor daemon. This patch fixes a problem with the alarm setting. Version contol information has also been added to upsd in this patch. -----8<----- cut here -----8<----- cut here -----8<----- cut here -----8<----- #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: HISTORY MANIFEST Patch01 version.h # Wrapped by root@pilikia on Tue Apr 9 22:03:27 1991 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'HISTORY' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'HISTORY'\" else echo shar: Extracting \"'HISTORY'\" \(304 characters\) sed "s/^X//" >'HISTORY' <<'END_OF_FILE' XRELEASE HISTORY X XDate Release Patch Description X------------------------------------------------------------------------------- X03/30/91 1.0 0 Initial release to net X04/09/91 1.0 1 Fixed stupidity with ups_time alarm setting and X added version stuff END_OF_FILE if test 304 -ne `wc -c <'HISTORY'`; then echo shar: \"'HISTORY'\" unpacked with wrong size! fi # end of 'HISTORY' fi echo shar: Extracting \"'MANIFEST'\" \(530 characters\) sed "s/^X//" >'MANIFEST' <<'END_OF_FILE' X File Name Archive # Description X----------------------------------------------------------- X HISTORY 1 Program revision history X MANIFEST 1 This shipping list X Makefile 1 Upsd makefile X README 1 Documentation X common.h 1 Common program header X funcs.c 1 Functions X main.c 1 Main program X ups 1 Init.d startup script X version.h 1 Version control header END_OF_FILE if test 530 -ne `wc -c <'MANIFEST'`; then echo shar: \"'MANIFEST'\" unpacked with wrong size! fi # end of 'MANIFEST' if test -f 'Patch01' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Patch01'\" else echo shar: Extracting \"'Patch01'\" \(3233 characters\) sed "s/^X//" >'Patch01' <<'END_OF_FILE' X*** common.h.orig Tue Apr 9 21:47:26 1991 X--- common.h Tue Apr 9 21:47:36 1991 X*************** X*** 17,22 **** X--- 17,24 ---- X #include <sys/signal.h> X #include <sys/stat.h> X X+ #include "version.h" X+ X #define ERR -1 /* error return value */ X #define SH "/bin/sh" /* shell to exec shutdown command */ X #define ROOT "/" /* root directory for chdir */ X*** funcs.c.orig Tue Apr 9 21:47:26 1991 X--- funcs.c Tue Apr 9 21:47:42 1991 X*************** X*** 27,33 **** X if ((s = getenv(UPSLOG)) != NULL) X ups_log = s; X if ((s = getenv(UPSTIME)) != NULL) X! ups_time = atoi(s) * SECS_PER_MIN; X } X X /* X--- 27,33 ---- X if ((s = getenv(UPSLOG)) != NULL) X ups_log = s; X if ((s = getenv(UPSTIME)) != NULL) X! ups_time = atoi(s); X } X X /* X*************** X*** 42,52 **** X--- 42,56 ---- X { X int c; X X+ void version(); X void usage(); X X extern char *optarg; X extern int optind, opterr; X X+ /* display program version */ X+ version(av[0]); X+ X /* parse the command line */ X while ((c = getopt(ac, av, "d:c:l:t:")) != EOF) X switch (c) { X*************** X*** 60,66 **** X ups_log = optarg; X break; X case 't': /* time option */ X! ups_time = atoi(optarg) * SECS_PER_MIN; X break; X case '\?': /* illegal option */ X usage(av[0]); X--- 64,70 ---- X ups_log = optarg; X break; X case 't': /* time option */ X! ups_time = atoi(optarg); X break; X case '\?': /* illegal option */ X usage(av[0]); X*************** X*** 158,164 **** X } X writelog(BATTERY_MSG); X X! alarm(ups_time);/* set the alarm clock */ X X /* read blocks on UPS switch to online */ X if (read(ups_fd, &c, 1) == ERR) X--- 162,169 ---- X } X writelog(BATTERY_MSG); X X! /* set the alarm clock */ X! alarm(ups_time * SECS_PER_MIN); X X /* read blocks on UPS switch to online */ X if (read(ups_fd, &c, 1) == ERR) X*************** X*** 258,263 **** X--- 263,304 ---- X } X X /* X+ ** b a s e n a m e X+ ** X+ ** remove absolute path from filename X+ ** X+ */ X+ char * X+ basename(s) X+ char *s; X+ { X+ register char *p; X+ X+ /* point to char after last '/' */ X+ if ((p = strrchr(s, '/')) != NULL) X+ return (++p); X+ X+ return (s); X+ } X+ X+ /* X+ ** v e r s i o n X+ ** X+ ** display program version X+ */ X+ void X+ version(s) X+ char *s; X+ { X+ char *basename(); X+ X+ /* display version if foreground */ X+ if (signal(SIGINT, SIG_IGN) != SIG_IGN) X+ fprintf(stderr, "%s v%d.%d patchlevel %d\n", basename(s), X+ RELEASE, REVISION, PATCHLEVEL); X+ } X+ X+ /* X ** u s a g e X ** X ** display program usage X*************** X*** 266,272 **** X usage(s) X char *s; X { X! fprintf(stderr, "usage: %s [-d tty][-c cmd][-l log][-t min]\n", s); X fprintf(stderr, "\t-d tty\t\tpathname of UPS device\n"); X fprintf(stderr, "\t-c cmd\t\tpathname of shutdown command\n"); X fprintf(stderr, "\t-l log\t\tpathname of UPS log file\n"); X--- 307,316 ---- X usage(s) X char *s; X { X! char *basename(); X! X! fprintf(stderr, "usage: %s [-d tty][-c cmd][-l log][-t min][-v]\n", X! basename(s)); X fprintf(stderr, "\t-d tty\t\tpathname of UPS device\n"); X fprintf(stderr, "\t-c cmd\t\tpathname of shutdown command\n"); X fprintf(stderr, "\t-l log\t\tpathname of UPS log file\n"); END_OF_FILE if test 3233 -ne `wc -c <'Patch01'`; then echo shar: \"'Patch01'\" unpacked with wrong size! fi # end of 'Patch01' fi if test -f 'version.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'version.h'\" else echo shar: Extracting \"'version.h'\" \(234 characters\) sed "s/^X//" >'version.h' <<'END_OF_FILE' X/* X** v e r s i o n . h X** X** version header for version control X** X** Arthur W. Neilson III X** art@pilikia.pegasus.com X** Tue Apr 9 1991 X*/ X X#define RELEASE_DATE "03/30/91" X#define RELEASE 1 X#define REVISION 0 X#define PATCHLEVEL 1 END_OF_FILE if test 234 -ne `wc -c <'version.h'`; then echo shar: \"'version.h'\" unpacked with wrong size! fi # end of 'version.h' fi echo shar: End of shell archive. exit 0 -----8<----- cut here -----8<----- cut here -----8<----- cut here -----8<----- -- Arthur W. Neilson III | INET: art@pilikia.pegasus.com Bank of Hawaii Tech Support | UUCP: uunet!ucsd!nosc!pilikia!art exit 0 # Just in case... -- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM Sterling Software, IMD UUCP: uunet!sparky!kent Phone: (402) 291-8300 FAX: (402) 291-4362 Please send comp.sources.misc-related mail to kent@uunet.uu.net.