Signed-off-by: Jean Thomas <jean.tho...@wifirst.fr>
---
 commands-nas.c | 46 +++++++++++++++++++++++++++++-----------------
 1 file changed, 29 insertions(+), 17 deletions(-)

diff --git a/commands-nas.c b/commands-nas.c
index d791fee..d06934f 100644
--- a/commands-nas.c
+++ b/commands-nas.c
@@ -97,6 +97,33 @@ print_earfcn_info(uint32_t earfcn)
        }
 }
 
+static char *
+print_radio_interface(int8_t radio_interface)
+{
+       switch (radio_interface) {
+               case QMI_NAS_RADIO_INTERFACE_NONE:
+                       return "none";
+               case QMI_NAS_RADIO_INTERFACE_CDMA_1X:
+                       return "cdma-1x";
+               case QMI_NAS_RADIO_INTERFACE_CDMA_1XEVDO:
+                       return "cdma-1x_evdo";
+               case QMI_NAS_RADIO_INTERFACE_AMPS:
+                       return "amps";
+               case QMI_NAS_RADIO_INTERFACE_GSM:
+                       return "gsm";
+               case QMI_NAS_RADIO_INTERFACE_UMTS:
+                       return "umts";
+               case QMI_NAS_RADIO_INTERFACE_LTE:
+                       return "lte";
+               case QMI_NAS_RADIO_INTERFACE_TD_SCDMA:
+                       return "td-scdma";
+               case QMI_NAS_RADIO_INTERFACE_5GNR:
+                       return "5gnr";
+               default:
+                       return "unknown";
+       }
+}
+
 #define cmd_nas_do_set_system_selection_cb no_cb
 static enum qmi_cmd_result
 cmd_nas_do_set_system_selection_prepare(struct qmi_dev *qmi, struct 
qmi_request *req, struct qmi_msg *msg, char *arg)
@@ -1101,17 +1128,6 @@ cmd_nas_network_scan_cb(struct qmi_dev *qmi, struct 
qmi_request *req, struct qmi
                "preferred",
                "not_preferred",
        };
-       const char *radio[] = {
-               [QMI_NAS_RADIO_INTERFACE_NONE] = "none",
-               [QMI_NAS_RADIO_INTERFACE_CDMA_1X] = "cdma-1x",
-               [QMI_NAS_RADIO_INTERFACE_CDMA_1XEVDO] = "cdma-1x_evdo",
-               [QMI_NAS_RADIO_INTERFACE_AMPS] = "amps",
-               [QMI_NAS_RADIO_INTERFACE_GSM] = "gsm",
-               [QMI_NAS_RADIO_INTERFACE_UMTS] = "umts",
-               [QMI_NAS_RADIO_INTERFACE_LTE] = "lte",
-               [QMI_NAS_RADIO_INTERFACE_TD_SCDMA] = "td-scdma",
-               [QMI_NAS_RADIO_INTERFACE_5GNR] = "5gnr",
-       };
        void *t, *c, *info, *stat;
        int i, j;
 
@@ -1140,16 +1156,12 @@ cmd_nas_network_scan_cb(struct qmi_dev *qmi, struct 
qmi_request *req, struct qmi
 
        c = blobmsg_open_array(&status, "radio_access_technology");
        for (i = 0; i < res.data.radio_access_technology_n; i++) {
-               const char *r = "unknown";
-               int r_i = res.data.radio_access_technology[i].radio_interface;
+               int8_t r_i = 
res.data.radio_access_technology[i].radio_interface;
 
                info = blobmsg_open_table(&status, NULL);
                blobmsg_add_u32(&status, "mcc", 
res.data.radio_access_technology[i].mcc);
                blobmsg_add_u32(&status, "mnc", 
res.data.radio_access_technology[i].mnc);
-               if (r_i >= 0 && r_i < ARRAY_SIZE(radio))
-                       r = radio[r_i];
-
-               blobmsg_add_string(&status, "radio", r);
+               blobmsg_add_string(&status, "radio", 
print_radio_interface(r_i));
                blobmsg_close_table(&status, info);
        }
        blobmsg_close_array(&status, c);
-- 
2.39.2


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to