aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-modem-mbim.c8
-rw-r--r--src/mm-modem-helpers.h6
2 files changed, 8 insertions, 6 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c
index 80340b69..a6b6ec5f 100644
--- a/src/mm-broadband-modem-mbim.c
+++ b/src/mm-broadband-modem-mbim.c
@@ -1674,12 +1674,8 @@ signal_state_query_ready (MbimDevice *device,
NULL, /* rssi_threshold */
NULL, /* error_rate_threshold */
&error)) {
- guint32 quality;
-
/* Normalize the quality. 99 means unknown, we default it to 0 */
- quality = CLAMP (rssi == 99 ? 0 : (gint)rssi, 0, 31) * 100 / 31;
-
- g_task_return_int (task, quality);
+ g_task_return_int (task, MM_CLAMP_HIGH (rssi == 99 ? 0 : rssi, 31) * 100 / 31);
} else
g_task_return_error (task, error);
@@ -2920,7 +2916,7 @@ basic_connect_notification_signal_state (MMBroadbandModemMbim *self,
guint32 quality;
/* Normalize the quality. 99 means unknown, we default it to 0 */
- quality = CLAMP (rssi == 99 ? 0 : (gint)rssi, 0, 31) * 100 / 31;
+ quality = MM_CLAMP_HIGH (rssi == 99 ? 0 : rssi, 31) * 100 / 31;
mm_dbg ("Signal state indication: %u --> %u%%", rssi, quality);
mm_iface_modem_update_signal_quality (MM_IFACE_MODEM (self), quality);
diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h
index c41d1d31..9c1be81f 100644
--- a/src/mm-modem-helpers.h
+++ b/src/mm-modem-helpers.h
@@ -504,4 +504,10 @@ gboolean mm_parse_supl_address (const gchar *supl,
guint16 *out_port,
GError **error);
+/*****************************************************************************/
+
+/* Useful when clamp-ing an unsigned integer with implicit low limit set to 0,
+ * and in order to avoid -Wtype-limits warnings. */
+#define MM_CLAMP_HIGH(x, high) (((x) > (high)) ? (high) : (x))
+
#endif /* MM_MODEM_HELPERS_H */