lib/vsprintf.c: fix handling of %zd when using ssize_t
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Mon, 17 Dec 2012 23:59:58 +0000 (15:59 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 18 Dec 2012 01:15:13 +0000 (17:15 -0800)
commitef12496022d5917cfe0b04cf8fd685fc6bc08400
tree0dde49b464f3d06f1279c6262e2b3d9800893e1d
parent2fa72c8fa5d03c4e07894ccb9f0be72e8687a455
lib/vsprintf.c: fix handling of %zd when using ssize_t

Documentation/printk-formats.txt says to use %zd for a ssize_t argument
and some drivers do.  Unfortunately this prints a positive number for
negative values eg:

  tpm_tis 70030000.tpm_tis: tpm_transmit: tpm_send: error 4294967234

Add a case to va_args a ssize_t type if the interpretation should be
signed.

Tested on PPC32.

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/vsprintf.c