From 997fed94e328315c6055331dbd8d6d4b56d1b454 Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Mon, 12 Sep 2016 12:59:21 +0200 Subject: [PATCH] ptgen: work around gcc miscompilation Some gcc versions seem to miscompile code using ternary operators, work around this by just returning the result if exp is 0. Signed-off-by: Jonas Gorski --- tools/firmware-utils/src/ptgen.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/firmware-utils/src/ptgen.c b/tools/firmware-utils/src/ptgen.c index 04f4ec86298..8466d35bcc3 100644 --- a/tools/firmware-utils/src/ptgen.c +++ b/tools/firmware-utils/src/ptgen.c @@ -93,7 +93,9 @@ static long to_kbytes(const char *string) { } /* result: number + 1024^(exp) */ - return result * ((2 << ((10 * exp) - 1)) ?: 1); + if (exp == 0) + return result; + return result * (2 << ((10 * exp) - 1)); } /* convert the sector number into a CHS value for the partition table */