From 3ea8baf7a2799ff391359465f2cda30f655e86d5 Mon Sep 17 00:00:00 2001 From: TXuian <1163589503@qq.com> Date: Fri, 25 Nov 2022 16:51:40 +0800 Subject: [PATCH] fix bug: config_w5500_network --- .../third_party_driver/ethernet/connect_w5500.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Ubiquitous/XiZi_IIoT/board/xidatong-riscv64/third_party_driver/ethernet/connect_w5500.c b/Ubiquitous/XiZi_IIoT/board/xidatong-riscv64/third_party_driver/ethernet/connect_w5500.c index c3f511388..db76773d2 100644 --- a/Ubiquitous/XiZi_IIoT/board/xidatong-riscv64/third_party_driver/ethernet/connect_w5500.c +++ b/Ubiquitous/XiZi_IIoT/board/xidatong-riscv64/third_party_driver/ethernet/connect_w5500.c @@ -479,6 +479,8 @@ void char_arr_assign(uint8_t *dst[4], uint32_t src[4]) { } } +char *network_param_name[] = {"ip", "sn", "gw"}; + void config_w5500_network(int argc, char *argv[]) { if (argc < 2) { KPrintf("[W5500] Network config require params."); @@ -498,22 +500,24 @@ void config_w5500_network(int argc, char *argv[]) { uint32_t tmp_arr[4]; sscanf(argv[cur_arg_idx + 1], "%d.%d.%d.%d", &tmp_arr[0], &tmp_arr[1], &tmp_arr[2], &tmp_arr[3]); - if (argv[cur_arg_idx] == "ip") { + if (memcmp(argv[cur_arg_idx], network_param_name[0]) == 0) { for (int i = 0; i < 4; ++i) { wiz_netinfo.ip[i] = (uint8_t)(tmp_arr[i]); } KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.ip[0], wiz_netinfo.ip[1], wiz_netinfo.ip[2], wiz_netinfo.ip[3]); - } else if (argv[cur_arg_idx] == "sn") { + } else if (memcmp(argv[cur_arg_idx], network_param_name[1]) == 0) { for (int i = 0; i < 4; ++i) { wiz_netinfo.sn[i] = (uint8_t)(tmp_arr[i]); } KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.sn[0], wiz_netinfo.sn[1], wiz_netinfo.sn[2], wiz_netinfo.sn[3]); - } else if (argv[cur_arg_idx] == "gw") { + } else if (memcmp(argv[cur_arg_idx], network_param_name[2]) == 0) { for (int i = 0; i < 4; ++i) { wiz_netinfo.gw[i] = (uint8_t)(tmp_arr[i]); } + } else { + KPrintf("[W5500] Invalid network param."); } cur_arg_idx += 2; }