From 46ed9702a0005da87edd0cc3d34dbe24d1526784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 6 Jun 2013 17:01:39 +0200 Subject: [PATCH] use tx as the type specifier instead of zx A couple of printf() commands use "zx" as a type specifier for printing a difference of 2 pointers. "z" means a size_t, but using "t" which is ptrdiff_t is correct. The issue was found on s390 (32-bit) where size_t is defined as "unsigned long" as opposed to the usual "unsigned int". --- fdtdump.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fdtdump.c b/fdtdump.c index 723770d..c5811f0 100644 --- a/fdtdump.c +++ b/fdtdump.c @@ -95,7 +95,7 @@ static void dump_blob(void *blob, bool debug) p = p_struct; while ((tag = fdt32_to_cpu(GET_CELL(p))) != FDT_END) { - dumpf("%04zx: tag: 0x%08x (%s)\n", + dumpf("%04tx: tag: 0x%08x (%s)\n", (uintptr_t)p - blob_off - 4, tag, tagname(tag)); if (tag == FDT_BEGIN_NODE) { @@ -135,8 +135,8 @@ static void dump_blob(void *blob, bool debug) p = PALIGN(p + sz, 4); - dumpf("%04zx: string: %s\n", (uintptr_t)s - blob_off, s); - dumpf("%04zx: value\n", (uintptr_t)t - blob_off); + dumpf("%04tx: string: %s\n", (uintptr_t)s - blob_off, s); + dumpf("%04tx: value\n", (uintptr_t)t - blob_off); printf("%*s%s", depth * shift, "", s); utilfdt_print_data(t, sz); printf(";\n"); @@ -210,14 +210,14 @@ int main(int argc, char *argv[]) fdt_off_dt_strings(p) < this_len) break; if (debug) - printf("%s: skipping fdt magic at offset %#zx\n", + printf("%s: skipping fdt magic at offset %#tx\n", file, p - buf); } ++p; } if (!p) die("%s: could not locate fdt magic\n", file); - printf("%s: found fdt at offset %#zx\n", file, p - buf); + printf("%s: found fdt at offset %#tx\n", file, p - buf); buf = p; } -- 1.8.1.4