* Re: [PATCH] fix gcc -W warning in netdevice.h
2005-06-16 7:13 ` Mikael Pettersson
@ 2005-06-16 19:09 ` Jesper Juhl
0 siblings, 0 replies; 3+ messages in thread
From: Jesper Juhl @ 2005-06-16 19:09 UTC (permalink / raw)
To: Mikael Pettersson
Cc: Jesper Juhl, LKML, David S. Miller, Donald J. Becker, Alan Cox,
Bjorn Ekwall, Pekka Riikonen, Jeff Garzik
[-- Attachment #1: Type: text/plain, Size: 2239 bytes --]
On 6/16/05, Mikael Pettersson <mikpe@csd.uu.se> 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 <jesper.juhl@gmail.com>
---
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 <jesper.juhl@gmail.com>
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
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: netdevice_h-signed-vs-unsigned-2.patch --]
[-- Type: text/x-patch; name="netdevice_h-signed-vs-unsigned-2.patch", Size: 708 bytes --]
--- 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;
^ permalink raw reply [flat|nested] 3+ messages in thread