libpayload: fix size_t handling
libcbfs was using printf for size_t typed variables. However, printf
did not support printing those. This patch fixes the issue, removing
the warning when compiling ram_media.c
libcbfs/ram_media.c:52:10: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Wformat]
libcbfs/ram_media.c:52:10: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Wformat]
Change-Id: Iaf6e723f9a5b0a61a39d3125036fee9853e37ba8
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/2904
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
diff --git a/payloads/libpayload/libc/printf.c b/payloads/libpayload/libc/printf.c
index ccb64fd..bc2c41c 100644
--- a/payloads/libpayload/libc/printf.c
+++ b/payloads/libpayload/libc/printf.c
@@ -552,6 +552,9 @@
qualifier = PrintfQualifierByte;
}
break;
+ case 'z': /* size_t or ssize_t */
+ qualifier = PrintfQualifierLong;
+ break;
case 'l': /* long or long long */
qualifier = PrintfQualifierLong;
if (fmt[i] == 'l') {
diff --git a/payloads/libpayload/libcbfs/ram_media.c b/payloads/libpayload/libcbfs/ram_media.c
index 1a0500e..859555c 100644
--- a/payloads/libpayload/libcbfs/ram_media.c
+++ b/payloads/libpayload/libcbfs/ram_media.c
@@ -48,7 +48,7 @@
offset = m->size + offset;
}
if (offset + count > m->size) {
- printf("ERROR: ram_map: request out of range (0x%x+0x%x)\n",
+ printf("ERROR: ram_map: request out of range (0x%zx+0x%zx)\n",
offset, count);
return NULL;
}