helpers: new macro to CLAMP high threshold only

Useful when clamping a unsigned integer with low threshold set to 0,
which would give us compiler warnings with -Wtype-limits when using
CLAMP(), e.g.:

  via/mm-broadband-modem-via.c: In function ‘handle_evdo_quality_change’:
  /usr/include/glib-2.0/glib/gmacros.h:811:63: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
    811 | #define CLAMP(x, low, high)  (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
        |                                                               ^
  via/mm-broadband-modem-via.c:284:19: note: in expansion of macro ‘CLAMP’
    284 |         quality = CLAMP (quality, 0, 100);
        |                   ^~~~~
This commit is contained in:
Aleksander Morgado
2020-01-31 15:18:35 +01:00
parent b856f3625d
commit bbeabb495e
7 changed files with 28 additions and 26 deletions
+1 -1
View File
@@ -116,7 +116,7 @@ simtech_signal_changed (MMPortSerialAt *port,
return;
if (quality != 99)
quality = CLAMP (quality, 0, 31) * 100 / 31;
quality = MM_CLAMP_HIGH (quality, 31) * 100 / 31;
else
quality = 0;