Re: [PATCH] fix gcc -W warning in netdevice.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/16/05, Mikael Pettersson <[email protected]> wrote:
> Jesper Juhl writes:
>  > --- linux-2.6.12-rc6-mm1-orig/include/linux/netdevice.h      2005-06-12 15:58:58.000000000 +0200
>  > +++ linux-2.6.12-rc6-mm1/include/linux/netdevice.h   2005-06-16 00:52:14.000000000 +0200
>  > @@ -778,7 +778,7 @@ enum {
>  >  static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
>  >  {
>  >      /* use default */
>  > -    if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
>  > +    if (debug_value < 0 || debug_value >= (int)(sizeof(u32) * 8))
>  >              return default_msg_enable_bits;
> 
> I'd change debug_value to unsigned, and drop the "< 0" test and the
> now redundant "(int)" cast. Both cleaner and faster. Win Win :-)

Hmm, yes, even if some caller is currently passing negative values
those values would (when implicitly converted to unsigned) have a
value significantly greater than (sizeof(u32) * 8), so the first if
statement would still be true and the function would then still behave
exactely the same... nice.

Here's a patch.

Signed-off-by: Jesper Juhl <[email protected]>
---

 include/linux/netdevice.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
      --- linux-2.6.12-rc6-mm1-orig/include/linux/netdevice.h	2005-06-12
15:58:58.000000000 +0200
+++ linux-2.6.12-rc6-mm1/include/linux/netdevice.h	2005-06-16
21:08:18.000000000 +0200
@@ -775,10 +775,10 @@ enum {
 #define netif_msg_hw(p)		((p)->msg_enable & NETIF_MSG_HW)
 #define netif_msg_wol(p)	((p)->msg_enable & NETIF_MSG_WOL)
 
-static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
+static inline u32 netif_msg_init(unsigned int debug_value, int
default_msg_enable_bits)
 {
 	/* use default */
-	if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
+	if (debug_value >= (sizeof(u32) * 8))
 		return default_msg_enable_bits;
 	if (debug_value == 0)	/* no output */
 		return 0;


(patch also attached since gmail tends to mangle inline patches - grrr)

-- 
Jesper Juhl <[email protected]>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html
--- linux-2.6.12-rc6-mm1-orig/include/linux/netdevice.h	2005-06-12 15:58:58.000000000 +0200
+++ linux-2.6.12-rc6-mm1/include/linux/netdevice.h	2005-06-16 21:08:18.000000000 +0200
@@ -775,10 +775,10 @@ enum {
 #define netif_msg_hw(p)		((p)->msg_enable & NETIF_MSG_HW)
 #define netif_msg_wol(p)	((p)->msg_enable & NETIF_MSG_WOL)
 
-static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
+static inline u32 netif_msg_init(unsigned int debug_value, int default_msg_enable_bits)
 {
 	/* use default */
-	if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
+	if (debug_value >= (sizeof(u32) * 8))
 		return default_msg_enable_bits;
 	if (debug_value == 0)	/* no output */
 		return 0;

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux