aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2011-04-28 12:49:32 +0200
committerAleksander Morgado <aleksander@lanedo.com>2011-04-29 12:31:12 +0200
commitfc1f35baf68742d187661d9d93deb17b5a1768ba (patch)
tree722b450c914d41cab4605b6c04dcea1d4fea80ae /plugins
parentbb827c3ef7a57caa295eed92438e713f6f841dae (diff)
samsung: allow getting more than one band
Diffstat (limited to 'plugins')
-rwxr-xr-xplugins/mm-modem-samsung-gsm.c49
1 files changed, 24 insertions, 25 deletions
diff --git a/plugins/mm-modem-samsung-gsm.c b/plugins/mm-modem-samsung-gsm.c
index ff57274a..4902e0af 100755
--- a/plugins/mm-modem-samsung-gsm.c
+++ b/plugins/mm-modem-samsung-gsm.c
@@ -196,32 +196,31 @@ parse_ipbm (const char *reply, MMModemGsmBand *band)
if (sscanf (reply, "\"ANY\": %d\r\n\"EGSM\": %d\r\n\"DCS\": %d\r\n\"PCS\": %d\r\n\"G850\": %d\r\n\"FDD_BAND_I\": %d\r\n\"FDD_BAND_II\": %d\r\n\"FDD_BAND_III\": %d\r\n\"FDD_BAND_IV\": %d\r\n\"FDD_BAND_V\": %d\r\n\"FDD_BAND_VI\": %d\r\n\"FDD_BAND_VIII\": %d", &enable[0], &enable[1], &enable[2], &enable[3], &enable[4], &enable[5], &enable[6], &enable[7], &enable[8], &enable[9], &enable[10], &enable[11]) != 12)
return FALSE;
+ *band = 0;
if (enable[5] == 1)
- *band = MM_MODEM_GSM_BAND_U2100;
- else if (enable[6] == 1)
- *band = MM_MODEM_GSM_BAND_U1900;
- else if (enable[7] == 1)
- *band = MM_MODEM_GSM_BAND_U1800;
- else if (enable[8] == 1)
- *band = MM_MODEM_GSM_BAND_U17IV;
- else if (enable[9] == 1)
- *band = MM_MODEM_GSM_BAND_U850;
- else if (enable[10] == 1)
- *band = MM_MODEM_GSM_BAND_U800;
- else if (enable[11] == 1)
- *band = MM_MODEM_GSM_BAND_U900;
- else if (enable[1] == 1)
- *band = MM_MODEM_GSM_BAND_EGSM;
- else if (enable[2] == 1)
- *band = MM_MODEM_GSM_BAND_DCS;
- else if (enable[3] == 1)
- *band = MM_MODEM_GSM_BAND_PCS;
- else if (enable[4] == 1)
- *band = MM_MODEM_GSM_BAND_G850;
- else
- *band = MM_MODEM_GSM_BAND_ANY;
-
- return FALSE;
+ *band |= MM_MODEM_GSM_BAND_U2100;
+ if (enable[6] == 1)
+ *band |= MM_MODEM_GSM_BAND_U1900;
+ if (enable[7] == 1)
+ *band |= MM_MODEM_GSM_BAND_U1800;
+ if (enable[8] == 1)
+ *band |= MM_MODEM_GSM_BAND_U17IV;
+ if (enable[9] == 1)
+ *band |= MM_MODEM_GSM_BAND_U850;
+ if (enable[10] == 1)
+ *band |= MM_MODEM_GSM_BAND_U800;
+ if (enable[11] == 1)
+ *band |= MM_MODEM_GSM_BAND_U900;
+ if (enable[1] == 1)
+ *band |= MM_MODEM_GSM_BAND_EGSM;
+ if (enable[2] == 1)
+ *band |= MM_MODEM_GSM_BAND_DCS;
+ if (enable[3] == 1)
+ *band |= MM_MODEM_GSM_BAND_PCS;
+ if (enable[4] == 1)
+ *band |= MM_MODEM_GSM_BAND_G850;
+
+ return (*band > 0 ? TRUE : FALSE);
}
static void