Re: (trivia) remove useless typecast around `jif' variable

From: Jan Engelhardt
Date: Mon Mar 05 2007 - 11:30:22 EST


On Mar 5 2007 19:12, Michael Tokarev wrote:

>Date: Mon, 5 Mar 2007 19:12:51 +0300 (MSK)
>From: Michael Tokarev <mjt@xxxxxxxxxx>
>To: undisclosed-recipients: ;

I have no clue what you sent it to, so I added linux-kernel again.



>Subject: (trivia) remove useless typecast around `jif' variable
>
>in fs/proc/proc_misc.c:show_stat() routine (which handles /proc/stat
>file), there's a local variable named 'jif' of type unsigned long,
>declared as following:
>
>static int show_stat(struct seq_file *p, void *v)
>{
> unsigned long jif;
>
>But later on, it's explicitly casted to (unsigned long) in printf().
>Remove the useless cast, to let the compiler to do the work for us
>in case we'll want to use different type here (say, u64 or something).

In case we wanted to use different types, we would also have to
change the accompanying %lu into %llu. Only changing jif to u64 will
cause a problem, as the compiler does _not_ automatically
promote/demote types in varargs that already have a certain size. In
other words,

int foo(unsigned long x)
{
printk("%llu\n", x); /* and */
printk("%lu\n", x);
}

will throw a warning (rightfully if you ask me).



Jan
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/