aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/simtech/mm-broadband-modem-simtech.c28
1 files changed, 12 insertions, 16 deletions
diff --git a/plugins/simtech/mm-broadband-modem-simtech.c b/plugins/simtech/mm-broadband-modem-simtech.c
index c08d5f4d..eb7c580b 100644
--- a/plugins/simtech/mm-broadband-modem-simtech.c
+++ b/plugins/simtech/mm-broadband-modem-simtech.c
@@ -70,22 +70,18 @@ struct _MMBroadbandModemSimtechPrivate {
static MMModemAccessTechnology
simtech_act_to_mm_act (int nsmod)
{
- if (nsmod == 1)
- return MM_MODEM_ACCESS_TECHNOLOGY_GSM;
- else if (nsmod == 2)
- return MM_MODEM_ACCESS_TECHNOLOGY_GPRS;
- else if (nsmod == 3)
- return MM_MODEM_ACCESS_TECHNOLOGY_EDGE;
- else if (nsmod == 4)
- return MM_MODEM_ACCESS_TECHNOLOGY_UMTS;
- else if (nsmod == 5)
- return MM_MODEM_ACCESS_TECHNOLOGY_HSDPA;
- else if (nsmod == 6)
- return MM_MODEM_ACCESS_TECHNOLOGY_HSUPA;
- else if (nsmod == 7)
- return MM_MODEM_ACCESS_TECHNOLOGY_HSPA;
-
- return MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN;
+ static const MMModemAccessTechnology simtech_act_to_mm_act_map[] = {
+ [0] = MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN,
+ [1] = MM_MODEM_ACCESS_TECHNOLOGY_GSM,
+ [2] = MM_MODEM_ACCESS_TECHNOLOGY_GPRS,
+ [3] = MM_MODEM_ACCESS_TECHNOLOGY_EDGE,
+ [4] = MM_MODEM_ACCESS_TECHNOLOGY_UMTS,
+ [5] = MM_MODEM_ACCESS_TECHNOLOGY_HSDPA,
+ [6] = MM_MODEM_ACCESS_TECHNOLOGY_HSUPA,
+ [7] = MM_MODEM_ACCESS_TECHNOLOGY_HSPA,
+ };
+
+ return (nsmod < G_N_ELEMENTS (simtech_act_to_mm_act_map) ? simtech_act_to_mm_act_map[nsmod] : MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN);
}
static void