diff options
author | uqs <uqs@FreeBSD.org> | 2010-05-19 08:52:51 +0000 |
---|---|---|
committer | uqs <uqs@FreeBSD.org> | 2010-05-19 08:52:51 +0000 |
commit | a04b2a20be978a06afae263bda8e096122045f41 (patch) | |
tree | c79bbbd514a324efb22591212b0eaf67cd7e50db /usr.sbin | |
parent | ebb7d74daeb7d8d95e5f195222ca706cfe992819 (diff) | |
download | FreeBSD-src-a04b2a20be978a06afae263bda8e096122045f41.zip FreeBSD-src-a04b2a20be978a06afae263bda8e096122045f41.tar.gz |
- Fix terminating argument to execl(3), sizeof(NULL) != sizeof(char *)
might be true on some systems [1]
- Rewrite gotos to use return directly
- Some spelling fixes
- Reduce unneeded/non-standard Makefile settings
Requested by: bde, imp [1]
Explanation provided by: bde [1]
Reviewed by: imp
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/apmd/Makefile | 7 | ||||
-rw-r--r-- | usr.sbin/apmd/README | 4 | ||||
-rw-r--r-- | usr.sbin/apmd/apmd.c | 23 |
3 files changed, 11 insertions, 23 deletions
diff --git a/usr.sbin/apmd/Makefile b/usr.sbin/apmd/Makefile index 6f7e066..9a0dc0d 100644 --- a/usr.sbin/apmd/Makefile +++ b/usr.sbin/apmd/Makefile @@ -10,12 +10,7 @@ WARNS?= 3 DPADD= ${LIBL} LDADD= -ll -YFLAGS+=-v -CFLAGS+=-I. -I${.CURDIR} #-DYY_STACK_USED -# for debug: -#CFLAGS+= -g -DDEBUG - -CLEANFILES= y.output +CFLAGS+= -I${.CURDIR} test: ./apmd -d -f etc/apmd.conf -n diff --git a/usr.sbin/apmd/README b/usr.sbin/apmd/README index 59a56e3..dd0a03a 100644 --- a/usr.sbin/apmd/README +++ b/usr.sbin/apmd/README @@ -92,7 +92,7 @@ apm_event SUSPENDREQ { exec "zzz"; } -Will cause apmd to recieve the APM event SUSPENDREQ (which may be +Will cause apmd to receive the APM event SUSPENDREQ (which may be posted by an LCD close), run the sync command 3 times and wait for a while, then execute zzz (apm -z) to put the system in the suspend state. @@ -130,7 +130,7 @@ Other events will not be sent to apmd. 4.3 command line syntax ----------------------- -In the example above, the three lines begining with `exec' are commands +In the example above, the three lines beginning with `exec' are commands for the event. Each line should be terminated with a semicolon. The command list for the event should be enclosed by `{' and `}'. apmd(8) uses /bin/sh for double-quotation enclosed command execution, just as diff --git a/usr.sbin/apmd/apmd.c b/usr.sbin/apmd/apmd.c index e728c1d..f6654d5 100644 --- a/usr.sbin/apmd/apmd.c +++ b/usr.sbin/apmd/apmd.c @@ -115,13 +115,13 @@ event_cmd_exec_act(void *this) switch ((pid = fork())) { case -1: warn("cannot fork"); - goto out; + break; case 0: /* child process */ signal(SIGHUP, SIG_DFL); signal(SIGCHLD, SIG_DFL); signal(SIGTERM, SIG_DFL); - execl(_PATH_BSHELL, "sh", "-c", p->line, NULL); + execl(_PATH_BSHELL, "sh", "-c", p->line, (char *)NULL); _exit(127); default: /* parent process */ @@ -130,7 +130,6 @@ event_cmd_exec_act(void *this) } while (pid == -1 && errno == EINTR); break; } - out: return status; } void @@ -165,19 +164,17 @@ struct event_cmd_op event_cmd_exec_ops = { }; /* - * reject commad + * reject command */ int event_cmd_reject_act(void *this __unused) { - int rc = -1; + int rc = 0; if (ioctl(apmctl_fd, APMIO_REJECTLASTREQ, NULL)) { syslog(LOG_NOTICE, "fail to reject\n"); - goto out; + rc = -1; } - rc = 0; - out: return rc; } struct event_cmd_op event_cmd_reject_ops = { @@ -466,7 +463,7 @@ wait_child(void) int proc_signal(int fd) { - int rc = -1; + int rc = 0; int sig; while (read(fd, &sig, sizeof sig) == sizeof sig) { @@ -479,7 +476,7 @@ proc_signal(int fd) case SIGTERM: syslog(LOG_NOTICE, "going down on signal %d", sig); rc = -1; - goto out; + return rc; case SIGCHLD: wait_child(); break; @@ -488,8 +485,6 @@ proc_signal(int fd) break; } } - rc = 0; - out: return rc; } void @@ -630,14 +625,12 @@ event_loop(void) if (FD_ISSET(signal_fd[0], &rfds)) { if (proc_signal(signal_fd[0]) < 0) - goto out; + return; } if (FD_ISSET(apmctl_fd, &rfds)) proc_apmevent(apmctl_fd); } -out: - return; } int |