On 04/13/2018 11:30 AM, Thomas Huth wrote: > "size_t" should be an unsigned type - the signed counterpart is called > "ssize_t" in the C standard instead. Thus we should also use this > convention in the s390-ccw firmware to avoid confusion. I checked the > sources, and apart from one spot in libc.c (which now uses ssize_t with > this patch), the code should all be fine with this change. > > Buglink: https://bugs.launchpad.net/qemu/+bug/1753437 > Signed-off-by: Thomas Huth <th...@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > pc-bios/s390-ccw/libc.c | 2 +- > pc-bios/s390-ccw/libc.h | 3 ++- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/pc-bios/s390-ccw/libc.c b/pc-bios/s390-ccw/libc.c > index 38ea77d..827d204 100644 > --- a/pc-bios/s390-ccw/libc.c > +++ b/pc-bios/s390-ccw/libc.c > @@ -63,7 +63,7 @@ uint64_t atoui(const char *str) > */ > char *uitoa(uint64_t num, char *str, size_t len) > { > - size_t num_idx = 1; /* account for NUL */ > + ssize_t num_idx = 1; /* account for NUL */ > uint64_t tmp = num; > > IPL_assert(str != NULL, "uitoa: no space allocated to store string"); > diff --git a/pc-bios/s390-ccw/libc.h b/pc-bios/s390-ccw/libc.h > index 63ece70..57c4199 100644 > --- a/pc-bios/s390-ccw/libc.h > +++ b/pc-bios/s390-ccw/libc.h > @@ -12,7 +12,8 @@ > #ifndef S390_CCW_LIBC_H > #define S390_CCW_LIBC_H > > -typedef long size_t; > +typedef unsigned long size_t; > +typedef signed long ssize_t; > typedef int bool; > typedef unsigned char uint8_t; > typedef unsigned short uint16_t; >