summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-07-20 07:51:54 +0200
committerAleksander Morgado <aleksander@aleksander.es>2016-07-20 08:02:49 +0200
commitf137268ce12daaf56b79e508d6cba5e543feac36 (patch)
tree9832b0cd2633ef7b2c9ef4983ebe8858f04ac8c5
parentddbc2195687bf4f5c94d7e60d808ddb695052f7f (diff)
downloadModemManager-f137268ce12daaf56b79e508d6cba5e543feac36.tar.gz
iface-modem: fix checking for single capabilities
The mm_iface_modem_is_*_only() checks were validating that all the other capabilities except for the ones being queried were unset, but the check wasn't explicitly checking that the actual capabilities being queried were set. This was making the check fail when capabilities == MM_MODEM_CAPABILITY_NONE. Reported-by: Matthew Stanger <stangerm2@gmail.com>
-rw-r--r--src/mm-iface-modem.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index 516ed78e2..f0d826c91 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -5035,7 +5035,7 @@ mm_iface_modem_is_3gpp_only (MMIfaceModem *self)
MMModemCapability capabilities;
capabilities = mm_iface_modem_get_current_capabilities (self);
- return !((MM_MODEM_CAPABILITY_3GPP ^ capabilities) & capabilities);
+ return (capabilities & MM_MODEM_CAPABILITY_3GPP) && !((MM_MODEM_CAPABILITY_3GPP ^ capabilities) & capabilities);
}
gboolean
@@ -5044,7 +5044,7 @@ mm_iface_modem_is_3gpp_lte_only (MMIfaceModem *self)
MMModemCapability capabilities;
capabilities = mm_iface_modem_get_current_capabilities (self);
- return !((MM_MODEM_CAPABILITY_3GPP_LTE ^ capabilities) & capabilities);
+ return (capabilities & MM_MODEM_CAPABILITY_3GPP_LTE) && !((MM_MODEM_CAPABILITY_3GPP_LTE ^ capabilities) & capabilities);
}
gboolean
@@ -5053,7 +5053,7 @@ mm_iface_modem_is_cdma_only (MMIfaceModem *self)
MMModemCapability capabilities;
capabilities = mm_iface_modem_get_current_capabilities (self);
- return !((MM_MODEM_CAPABILITY_CDMA_EVDO ^ capabilities) & capabilities);
+ return (capabilities & MM_MODEM_CAPABILITY_CDMA_EVDO) && !((MM_MODEM_CAPABILITY_CDMA_EVDO ^ capabilities) & capabilities);
}
/*****************************************************************************/