ソースを参照

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 <[email protected]>
Jonas Gorski 9 年 前
コミット
997fed94e3
1 ファイル変更3 行追加1 行削除
  1. 3 1
      tools/firmware-utils/src/ptgen.c

+ 3 - 1
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 */