Messages in this thread Patch in this message | | | From | Rasmus Villemoes <> | Subject | [PATCH 3/4] lib/vsprintf.c: Remove SPECIAL handling in pointer() | Date | Fri, 25 Sep 2015 19:41:04 +0200 |
| |
As a quick
git grep -E '%[ +0#-]*#[ +0#-]*(\*|[0-9]+)?(\.(\*|[0-9]+)?)?p'
shows, nobody uses the # flag with %p. Moreover, I think users are unlikely to show up since gcc will complain with
warning: `#' flag used with ‘%p’ gnu_printf format [-Wformat]
Since default_width is effectively always 2*sizeof(void*), we can simplify the prologue of pointer() and save a few instructions.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- lib/vsprintf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 03fa10b4be96..98b0d7be3fb7 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -1457,7 +1457,7 @@ static noinline_for_stack char *pointer(const char *fmt, char *buf, char *end, void *ptr, struct printf_spec spec) { - int default_width = 2 * sizeof(void *) + (spec.flags & SPECIAL ? 2 : 0); + const int default_width = 2 * sizeof(void *); if (!ptr && *fmt != 'K') { /* -- 2.1.3
| |