diff options
author | des <des@FreeBSD.org> | 2011-10-11 15:04:58 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2011-10-11 15:04:58 +0000 |
commit | 0fb3102c12b669417c078f617889c3ddd5e59fe4 (patch) | |
tree | d6a24603f47d4dae66319403e3390c89760a96ee /usr.bin/kdump | |
parent | 35a20a3582f12acabd4bbf035b9f72eb232b2184 (diff) | |
download | FreeBSD-src-0fb3102c12b669417c078f617889c3ddd5e59fe4.zip FreeBSD-src-0fb3102c12b669417c078f617889c3ddd5e59fe4.tar.gz |
The previous commit did not fix the issue since it did not prevent sign
extension. Cast to u_register_t first, then to uintmax_t.
Submitted by: bde@
Diffstat (limited to 'usr.bin/kdump')
-rw-r--r-- | usr.bin/kdump/kdump.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index ae3b4a4..7e1c08d 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -110,14 +110,14 @@ struct ktr_header ktr_header; #define TIME_FORMAT "%b %e %T %Y" #define eqs(s1, s2) (strcmp((s1), (s2)) == 0) -#define print_number(i,n,c) do { \ - if (decimal) \ - printf("%c%jd", c, (intmax_t)*i); \ - else \ - printf("%c%#jx", c, (uintmax_t)*i); \ - i++; \ - n--; \ - c = ','; \ +#define print_number(i,n,c) do { \ + if (decimal) \ + printf("%c%jd", c, (intmax_t)*i); \ + else \ + printf("%c%#jx", c, (uintmax_t)(u_register_t)*i); \ + i++; \ + n--; \ + c = ','; \ } while (0) #if defined(__amd64__) || defined(__i386__) |