diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2016-07-20 07:51:54 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2016-07-20 08:02:49 +0200 |
commit | f137268ce12daaf56b79e508d6cba5e543feac36 (patch) | |
tree | 9832b0cd2633ef7b2c9ef4983ebe8858f04ac8c5 | |
parent | ddbc2195687bf4f5c94d7e60d808ddb695052f7f (diff) | |
download | ModemManager-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.c | 6 |
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); } /*****************************************************************************/ |