]> arthur.barton.de Git - ngircd.git/commitdiff
Annotate "fall through" cases to silence warnings
authorAlexander Barton <alex@barton.de>
Thu, 18 Jan 2024 21:41:39 +0000 (22:41 +0100)
committerAlexander Barton <alex@barton.de>
Thu, 18 Jan 2024 21:49:48 +0000 (22:49 +0100)
Add a "/* fall through */" annotation to "case" statements which
actually should "fall through" to silences GCC warning like this:

  hash.c: In function â€˜jenkins_hash’:
  hash.c:110:27: warning: this statement may fall through
                 [-Wimplicit-fallthrough=]
    110 |                 case 12: c+=((UINT32)k[11])<<24;
        |                          ~^~~~~~~~~~~~~~~~~~~~~

src/ngircd/hash.c
src/ngircd/irc-info.c
src/ngircd/irc-mode.c

index cdac5e8d01831d477d2671b0d729f980f93ef967..c078443bbd0c2168ceb68b0690ef482eeb5a1739 100644 (file)
@@ -108,16 +108,27 @@ jenkins_hash(UINT8 *k, UINT32 length, UINT32 initval)
 
        {
                case 12: c+=((UINT32)k[11])<<24;
+               /* fall through */
                case 11: c+=((UINT32)k[10]<<16);
+               /* fall through */
                case 10: c+=((UINT32)k[9]<<8);
+               /* fall through */
                case 9 : c+=k[8];
+               /* fall through */
                case 8 : b+=((UINT32)k[7]<<24);
+               /* fall through */
                case 7 : b+=((UINT32)k[6]<<16);
+               /* fall through */
                case 6 : b+=((UINT32)k[5]<<8);
+               /* fall through */
                case 5 : b+=k[4];
+               /* fall through */
                case 4 : a+=((UINT32)k[3]<<24);
+               /* fall through */
                case 3 : a+=((UINT32)k[2]<<16);
+               /* fall through */
                case 2 : a+=((UINT32)k[1]<<8);
+               /* fall through */
                case 1 : a+=k[0];
                         break;
                case 0 : return c;
index 8fcd1b1164c71f520ce6774c8322fdf8b77bc345..9a531bb06663c2acf653c26b9ea3944c1efbf07b 100644 (file)
@@ -910,7 +910,7 @@ IRC_STATS( CLIENT *Client, REQUEST *Req )
                if (!Op_Check(from, Req))
                        return Op_NoPrivileges(from, Req);
                more_links = true;
-
+               /* fall through */
        case 'l':       /* Link status (servers and own link) */
                time_now = time(NULL);
                for (con = Conn_First(); con != NONE; con = Conn_Next(con)) {
index b505aee5e2c8af6a9d9fe3d61675403a55cc948c..89a070429afef1b8645e30c64820db12ad26f8f3 100644 (file)
@@ -575,6 +575,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
                                        Client_ID(Origin), Channel_Name(Channel));
                                goto chan_exit;
                        }
+                       /* fall through */
                case 'i': /* Invite only */
                case 'V': /* Invite disallow */
                case 'M': /* Only identified nicks can write */
@@ -747,6 +748,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
                                        Channel_Name(Channel));
                                goto chan_exit;
                        }
+                       /* fall through */
                case 'a': /* Channel admin */
                        if(!is_oper && !is_machine && !is_owner && !is_admin) {
                                connected = IRC_WriteErrClient(Origin,
@@ -755,6 +757,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
                                        Channel_Name(Channel));
                                goto chan_exit;
                        }
+                       /* fall through */
                case 'o': /* Channel operator */
                        if(!is_oper && !is_machine && !is_owner &&
                           !is_admin && !is_op) {
@@ -764,6 +767,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
                                        Channel_Name(Channel));
                                goto chan_exit;
                        }
+                       /* fall through */
                case 'h': /* Half Op */
                        if(!is_oper && !is_machine && !is_owner &&
                           !is_admin && !is_op) {
@@ -773,6 +777,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
                                        Channel_Name(Channel));
                                goto chan_exit;
                        }
+                       /* fall through */
                case 'v': /* Voice */
                        if (arg_arg > mode_arg) {
                                if (is_oper || is_machine || is_owner ||