Add __attribute__((__noreturn__)) to various function prototypes in libexec/.
authorSascha Wildner <saw@online.de>
Sun, 31 Dec 2017 16:42:07 +0000 (17:42 +0100)
committerSascha Wildner <saw@online.de>
Sun, 31 Dec 2017 16:42:26 +0000 (17:42 +0100)
This general cleanup is useful in various ways. It helps the compiler
optimize better and it also helps later GCCs detect better when to give
-Wimplicit-fallthrough warnings and when not.

Found-with: -Wsuggest-attribute=noreturn

libexec/atrun/atrun.c
libexec/dma/dma.h
libexec/ftpd/Makefile
libexec/ftpd/extern.h
libexec/rbootd/defs.h
libexec/rpc.rstatd/rstatd.c
libexec/rpc.rusersd/rusersd.c
libexec/rpc.sprayd/sprayd.c
libexec/telnetd/ext.h
libexec/telnetd/telnetd.c
libexec/tftpd/tftpd.c

index 329e4e8..2ad6a31 100644 (file)
@@ -82,9 +82,9 @@ gid_t real_gid, effective_gid;
 static const char * const atrun = "atrun"; /* service name for syslog etc. */
 static int debug = 0;
 
-void           perr(const char *fmt, ...) __printflike(1, 2);
-void           perrx(const char *fmt, ...) __printflike(1, 2);
-static void    usage(void);
+void           perr(const char *fmt, ...) __dead2 __printflike(1, 2);
+void           perrx(const char *fmt, ...) __dead2 __printflike(1, 2);
+static void    usage(void) __dead2;
 
 /* Local functions */
 static int
index 830d9e2..916d299 100644 (file)
@@ -218,14 +218,14 @@ int flushqueue_signal(void);
 int deliver_local(struct qitem *);
 
 /* mail.c */
-void bounce(struct qitem *, const char *);
+void bounce(struct qitem *, const char *) __attribute__((__noreturn__));
 int readmail(struct queue *, int, int);
 
 /* util.c */
 const char *hostname(void);
 void setlogident(const char *, ...) __attribute__((__format__ (__printf__, 1, 2)));
-void errlog(int, const char *, ...) __attribute__((__format__ (__printf__, 2, 3)));
-void errlogx(int, const char *, ...) __attribute__((__format__ (__printf__, 2, 3)));
+void errlog(int, const char *, ...) __attribute__((__format__ (__printf__, 2, 3))) __attribute__((__noreturn__));
+void errlogx(int, const char *, ...) __attribute__((__format__ (__printf__, 2, 3))) __attribute__((__noreturn__));
 void set_username(void);
 void deltmp(void);
 int do_timeout(int, int);
index ac1cde1..431e9a0 100644 (file)
@@ -20,7 +20,7 @@ LDADD+=       -lopie -lmd
 LSDIR= ../../bin/ls
 .PATH: ${.CURDIR}/${LSDIR}
 SRCS+= ls.c cmp.c print.c util.c
-CFLAGS+=-Dmain=ls_main -I${.CURDIR}/${LSDIR}
+CFLAGS+=-I. -Dmain=ls_main -I${.CURDIR}/${LSDIR}
 DPADD+=        ${LIBM}
 LDADD+=        -lm
 
index 34971e4..f1e80ce 100644 (file)
@@ -37,8 +37,8 @@ void  blkfree(char **);
 char  **copyblk(char **);
 void   cwd(char *);
 void   delete(char *);
-void   dologout(int);
-void   fatalerror(char *);
+void   dologout(int) __dead2;
+void   fatalerror(char *) __dead2;
 void    ftpd_logwtmp(char *, char *, struct sockaddr *addr);
 int    ftpd_pclose(FILE *);
 FILE   *ftpd_popen(char *, char *);
index df8bd83..05a632f 100644 (file)
@@ -40,7 +40,6 @@
  * Author: Jeff Forys, University of Utah CSS
  *
  * $FreeBSD: src/libexec/rbootd/defs.h,v 1.2.6.1 2001/02/18 02:54:11 kris Exp $
- * $DragonFly: src/libexec/rbootd/defs.h,v 1.3 2003/11/14 03:54:30 dillon Exp $
  */
 
 #include "rmp.h"
@@ -160,7 +159,7 @@ void         DebugOn (int);
 void    DispPkt (RMPCONN *, int);
 void    DoTimeout (void);
 void    DspFlnm (u_int, char *);
-void    Exit (int);
+void    Exit (int) __dead2;
 CLIENT *FindClient (RMPCONN *);
 RMPCONN        *FindConn (RMPCONN *);
 void    FreeClients (void);
index 1a154f2..44f6f67 100644 (file)
@@ -40,7 +40,7 @@ extern void rstat_service();
 int from_inetd = 1;     /* started from inetd ? */
 int closedown = 20;    /* how long to wait before going dormant */
 
-void
+void __dead2
 cleanup(int sig)
 {
         (void) rpcb_unset(RSTATPROG, RSTATVERS_TIME, NULL);
index cf5c745..14a6c3a 100644 (file)
@@ -42,7 +42,7 @@ extern void rusers_service();
 
 int from_inetd = 1;
 
-void
+void __dead2
 cleanup(int sig)
 {
        (void) rpcb_unset(RUSERSPROG, RUSERSVERS_IDLE, NULL);
index d87b2fb..0fc5c92 100644 (file)
@@ -56,14 +56,14 @@ static int from_inetd = 1;
 
 #define TIMEOUT 120
 
-static void
+static void __dead2
 cleanup(int sig)
 {
        (void)rpcb_unset(SPRAYPROG, SPRAYVERS, NULL);
        exit(0);
 }
 
-static void
+static void __dead2
 die(int sig)
 {
        exit(0);
index 9a829c0..e0e7535 100644 (file)
@@ -83,7 +83,7 @@ extern void
        add_slc(char, char, cc_t),
        check_slc(void),
        change_slc(char, char, cc_t),
-       cleanup(int),
+       cleanup(int) __dead2,
        clientstat(int, int, int),
        copy_termbuf(char *, size_t),
        deferslc(void),
@@ -93,8 +93,8 @@ extern void
        dooption(int),
        dontoption(int),
        edithost(char *, char *),
-       fatal(int, const char *),
-       fatalperror(int, const char *),
+       fatal(int, const char *) __dead2,
+       fatalperror(int, const char *) __dead2,
        get_slc_defaults(void),
        init_env(void),
        init_termbuf(void),
@@ -122,7 +122,7 @@ extern void
        sendbrk(void),
        sendsusp(void),
        set_termbuf(void),
-       start_login(char *, int, char *),
+       start_login(char *, int, char *) __dead2,
        start_slc(int),
 #ifdef AUTHENTICATION
        start_slave(char *),
index 138dd03..00d4296 100644 (file)
@@ -64,7 +64,7 @@ char  ptyibuf[BUFSIZ], *ptyip = ptyibuf;
 char   ptyibuf2[BUFSIZ];
 
 int readstream(int, char *, int);
-void doit(struct sockaddr *);
+void doit(struct sockaddr *) __dead2;
 int terminaltypeok(char *);
 
 int    hostinfo = 1;                   /* do we print login banner? */
@@ -74,7 +74,7 @@ int keepalive = 1;
 const char *altlogin;
 
 void startslave(char *, int, char *);
-extern void usage(void);
+extern void usage(void) __dead2;
 static void _gettermname(void);
 
 /*
@@ -112,7 +112,7 @@ int family = AF_INET;
 char *hostname;
 char host_name[MAXHOSTNAMELEN];
 
-extern void telnet(int, int, char *);
+extern void telnet(int, int, char *) __dead2;
 
 int level;
 char user_name[256];
index d0bb13d..1994672 100644 (file)
@@ -77,7 +77,7 @@ static char   ackbuf[PKTSIZE];
 static struct  sockaddr_storage from;
 static int     fromlen;
 
-static void tftp(struct tftphdr *, int);
+static void tftp(struct tftphdr *, int) __dead2;
 static void unmappedaddr(struct sockaddr_in6 *);
 
 /*