diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/vsprintf.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 7af9d841c43b..8378c136b6e1 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c | |||
@@ -988,8 +988,15 @@ static noinline_for_stack | |||
988 | char *pointer(const char *fmt, char *buf, char *end, void *ptr, | 988 | char *pointer(const char *fmt, char *buf, char *end, void *ptr, |
989 | struct printf_spec spec) | 989 | struct printf_spec spec) |
990 | { | 990 | { |
991 | if (!ptr) | 991 | if (!ptr) { |
992 | /* | ||
993 | * Print (null) with the same width as a pointer so it makes | ||
994 | * tabular output look nice. | ||
995 | */ | ||
996 | if (spec.field_width == -1) | ||
997 | spec.field_width = 2 * sizeof(void *); | ||
992 | return string(buf, end, "(null)", spec); | 998 | return string(buf, end, "(null)", spec); |
999 | } | ||
993 | 1000 | ||
994 | switch (*fmt) { | 1001 | switch (*fmt) { |
995 | case 'F': | 1002 | case 'F': |
@@ -1031,7 +1038,7 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr, | |||
1031 | } | 1038 | } |
1032 | spec.flags |= SMALL; | 1039 | spec.flags |= SMALL; |
1033 | if (spec.field_width == -1) { | 1040 | if (spec.field_width == -1) { |
1034 | spec.field_width = 2*sizeof(void *); | 1041 | spec.field_width = 2 * sizeof(void *); |
1035 | spec.flags |= ZEROPAD; | 1042 | spec.flags |= ZEROPAD; |
1036 | } | 1043 | } |
1037 | spec.base = 16; | 1044 | spec.base = 16; |