[PATCH] vsprintf: fix gcc warning

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Vegard Nossum
Date: Monday, July 7, 2008 - 12:24 pm

Hi :)

Does this look correct? Please disregard this if it has already
been fixed. Thanks.


Vegard

From: Vegard Nossum <vegard.nossum@gmail.com>
Date: Mon, 7 Jul 2008 21:08:57 +0200
Subject: [PATCH] vsprintf: fix gcc warning

The patch

commit bf4bb495e5dc8f1abba98bb6cb08b2d94446a662
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Jul 5 22:37:13 2008 -0700

    printk: add support for '%pS'

introduced a new build warning from GCC (4.1.2):

  CC      lib/vsprintf.o
lib/vsprintf.c: In function `pointer':
lib/vsprintf.c:560: warning: cast from pointer to integer of different size

Whether the warning is useful or not is a discussion on its own. But
we can at least fix this by casting to 'unsigned long' instead of
'unsigned long long'. 'unsigned long' can hold a pointer and will be
converted implicitly to the right type upon calling the function.

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
---
 lib/vsprintf.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index f60c7c0..39b6172 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -557,7 +557,7 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr, int base,
 		precision = 2*sizeof(void *);
 		type |= ZEROPAD;
 	}
-	return number(buf, end, (unsigned long long) ptr, base, size, precision, type);
+	return number(buf, end, (unsigned long) ptr, base, size, precision, type);
 }
 
 /**
-- 
1.5.4.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] vsprintf: fix gcc warning, Vegard Nossum, (Mon Jul 7, 12:24 pm)
Re: [PATCH] vsprintf: fix gcc warning, Linus Torvalds, (Mon Jul 7, 12:54 pm)
Re: [PATCH] vsprintf: fix gcc warning, Vegard Nossum, (Mon Jul 7, 1:00 pm)