From 25a9bd6267bf1a2e144344325a71432193eed4b0 Mon Sep 17 00:00:00 2001 From: Andrei Errapart Date: Thu, 19 Jun 2014 21:05:11 +1000 Subject: [PATCH] Correct write_propval_bytes() for platforms with signed char by default Some platforms (including the Microsoft C compiler) have char defaulting to signed. write_propval_bytes() in the -O dts code will not behave correctly in this case, due to sign extension. Signed-off-by: Andrei Errapart Signed-off-by: David Gibson --- treesource.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/treesource.c b/treesource.c index 3a87b9f..a55d1d1 100644 --- a/treesource.c +++ b/treesource.c @@ -178,7 +178,7 @@ static void write_propval_bytes(FILE *f, struct data val) m = m->next; } - fprintf(f, "%02hhx", *bp++); + fprintf(f, "%02hhx", (unsigned char)(*bp++)); if ((const void *)bp >= propend) break; fprintf(f, " ");