It calls either usage() which exits or it calls exit(send_command()).
OK?
Index: apm.c
===================================================================
RCS file: /cvs/src/usr.sbin/apm/apm.c,v
retrieving revision 1.37
diff -u -p -r1.37 apm.c
--- apm.c 23 Sep 2020 05:50:26 -0000 1.37
+++ apm.c 2 Apr 2021 15:59:56 -0000
@@ -50,7 +50,7 @@
extern char *__progname;
-static int do_zzz(int, enum apm_action);
+static __dead void do_zzz(int, enum apm_action);
static int open_socket(const char *);
static int send_command(int, struct apm_command *,
struct apm_reply *);
@@ -91,7 +91,7 @@ send_command(int fd, struct apm_command
return (0);
}
-static int
+static __dead void
do_zzz(int fd, enum apm_action action)
{
struct apm_command command;
@@ -253,13 +253,11 @@ main(int argc, char *argv[])
if (!strcmp(__progname, "zzz")) {
if (fd < 0)
err(1, "cannot connect to apmd");
- else
- return (do_zzz(fd, action));
+ do_zzz(fd, action);
} else if (!strcmp(__progname, "ZZZ")) {
if (fd < 0)
err(1, "cannot connect to apmd");
- else
- return (do_zzz(fd, HIBERNATE));
+ do_zzz(fd, HIBERNATE);
}