From 6f06cf3e8fe0531b927d5e11ae2b0e9af3663b0f Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 28 Jan 2022 14:43:31 -0800 Subject: [PATCH] ao_convert_pa: Switch array index to unsigned type This seems more appropriate for this use. Signed-off-by: Keith Packard --- src/kernel/ao_convert_pa.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/kernel/ao_convert_pa.c b/src/kernel/ao_convert_pa.c index 8ae0e7c9..44b3d745 100644 --- a/src/kernel/ao_convert_pa.c +++ b/src/kernel/ao_convert_pa.c @@ -42,7 +42,7 @@ static const alt_t altitude_table[] AO_CONST_ATTRIB = { alt_t ao_pa_to_altitude(pres_t pa) { - int16_t o; + uint16_t o; int16_t part; alt_t low, high; @@ -50,12 +50,12 @@ ao_pa_to_altitude(pres_t pa) pa = 0; if (pa > 120000L) pa = 120000L; - o = pa >> ALT_SHIFT; + o = (uint16_t) (pa >> ALT_SHIFT); part = pa & ALT_MASK; low = (alt_t) FETCH_ALT(o) * (ALT_SCALE - part); - high = (alt_t) FETCH_ALT(o+1) * part + (ALT_SCALE >> 1); - return (low + high) >> ALT_SHIFT; + high = (alt_t) FETCH_ALT(o+1) * part; + return (low + high + (ALT_SCALE >> 1)) >> ALT_SHIFT; } #ifdef AO_CONVERT_TEST -- 2.47.2