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; |
