@@ -75,7 +75,8 @@ struct wifi_ap_sta_node {
7575};
7676static struct wifi_ap_sta_node sta_list [CONFIG_WIFI_SHELL_MAX_AP_STA ];
7777
78- static bool parse_number (const struct shell * sh , long * param , char * str , long min , long max )
78+ static bool parse_number (const struct shell * sh , long * param , char * str ,
79+ char * pname , long min , long max )
7980{
8081 char * endptr ;
8182 char * str_tmp = str ;
@@ -94,7 +95,13 @@ static bool parse_number(const struct shell *sh, long *param, char *str, long mi
9495 }
9596
9697 if ((num ) < (min ) || (num ) > (max )) {
97- PR_WARNING ("Value out of range: %s, (%ld-%ld)" , str_tmp , min , max );
98+ if (pname ) {
99+ PR_WARNING ("%s value out of range: %s, (%ld-%ld)" ,
100+ pname , str_tmp , min , max );
101+ } else {
102+ PR_WARNING ("Value out of range: %s, (%ld-%ld)" ,
103+ str_tmp , min , max );
104+ }
98105 return false;
99106 }
100107 * param = num ;
@@ -1067,12 +1074,12 @@ static int cmd_wifi_twt_setup_quick(const struct shell *sh, size_t argc,
10671074 params .setup .trigger = 0 ;
10681075 params .setup .announce = 0 ;
10691076
1070- if (!parse_number (sh , & value , argv [idx ++ ], 1 , WIFI_MAX_TWT_WAKE_INTERVAL_US )) {
1077+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 1 , WIFI_MAX_TWT_WAKE_INTERVAL_US )) {
10711078 return - EINVAL ;
10721079 }
10731080 params .setup .twt_wake_interval = (uint32_t )value ;
10741081
1075- if (!parse_number (sh , & value , argv [idx ++ ], 1 , WIFI_MAX_TWT_INTERVAL_US )) {
1082+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 1 , WIFI_MAX_TWT_INTERVAL_US )) {
10761083 return - EINVAL ;
10771084 }
10781085 params .setup .twt_interval = (uint64_t )value ;
@@ -1105,59 +1112,59 @@ static int cmd_wifi_twt_setup(const struct shell *sh, size_t argc,
11051112
11061113 params .operation = WIFI_TWT_SETUP ;
11071114
1108- if (!parse_number (sh , & value , argv [idx ++ ], WIFI_TWT_INDIVIDUAL ,
1115+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , WIFI_TWT_INDIVIDUAL ,
11091116 WIFI_TWT_WAKE_TBTT )) {
11101117 return - EINVAL ;
11111118 }
11121119 params .negotiation_type = (enum wifi_twt_negotiation_type )value ;
11131120
1114- if (!parse_number (sh , & value , argv [idx ++ ], WIFI_TWT_SETUP_CMD_REQUEST ,
1121+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , WIFI_TWT_SETUP_CMD_REQUEST ,
11151122 WIFI_TWT_SETUP_CMD_DEMAND )) {
11161123 return - EINVAL ;
11171124 }
11181125 params .setup_cmd = (enum wifi_twt_setup_cmd )value ;
11191126
1120- if (!parse_number (sh , & value , argv [idx ++ ], 1 , 255 )) {
1127+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 1 , 255 )) {
11211128 return - EINVAL ;
11221129 }
11231130 params .dialog_token = (uint8_t )value ;
11241131
1125- if (!parse_number (sh , & value , argv [idx ++ ], 0 , (WIFI_MAX_TWT_FLOWS - 1 ))) {
1132+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 0 , (WIFI_MAX_TWT_FLOWS - 1 ))) {
11261133 return - EINVAL ;
11271134 }
11281135 params .flow_id = (uint8_t )value ;
11291136
1130- if (!parse_number (sh , & value , argv [idx ++ ], 0 , 1 )) {
1137+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 0 , 1 )) {
11311138 return - EINVAL ;
11321139 }
11331140 params .setup .responder = (bool )value ;
11341141
1135- if (!parse_number (sh , & value , argv [idx ++ ], 0 , 1 )) {
1142+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 0 , 1 )) {
11361143 return - EINVAL ;
11371144 }
11381145 params .setup .trigger = (bool )value ;
11391146
1140- if (!parse_number (sh , & value , argv [idx ++ ], 0 , 1 )) {
1147+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 0 , 1 )) {
11411148 return - EINVAL ;
11421149 }
11431150 params .setup .implicit = (bool )value ;
11441151
1145- if (!parse_number (sh , & value , argv [idx ++ ], 0 , 1 )) {
1152+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 0 , 1 )) {
11461153 return - EINVAL ;
11471154 }
11481155 params .setup .announce = (bool )value ;
11491156
1150- if (!parse_number (sh , & value , argv [idx ++ ], 1 , WIFI_MAX_TWT_WAKE_INTERVAL_US )) {
1157+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 1 , WIFI_MAX_TWT_WAKE_INTERVAL_US )) {
11511158 return - EINVAL ;
11521159 }
11531160 params .setup .twt_wake_interval = (uint32_t )value ;
11541161
1155- if (!parse_number (sh , & value , argv [idx ++ ], 1 , WIFI_MAX_TWT_INTERVAL_US )) {
1162+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 1 , WIFI_MAX_TWT_INTERVAL_US )) {
11561163 return - EINVAL ;
11571164 }
11581165 params .setup .twt_interval = (uint64_t )value ;
11591166
1160- if (!parse_number (sh , & value , argv [idx ++ ], 0 , WIFI_MAX_TWT_WAKE_AHEAD_DURATION_US )) {
1167+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 0 , WIFI_MAX_TWT_WAKE_AHEAD_DURATION_US )) {
11611168 return - EINVAL ;
11621169 }
11631170 params .setup .twt_wake_ahead_duration = (uint32_t )value ;
@@ -1190,24 +1197,24 @@ static int cmd_wifi_twt_teardown(const struct shell *sh, size_t argc,
11901197
11911198 params .operation = WIFI_TWT_TEARDOWN ;
11921199
1193- if (!parse_number (sh , & value , argv [idx ++ ], WIFI_TWT_INDIVIDUAL ,
1200+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , WIFI_TWT_INDIVIDUAL ,
11941201 WIFI_TWT_WAKE_TBTT )) {
11951202 return - EINVAL ;
11961203 }
11971204 params .negotiation_type = (enum wifi_twt_negotiation_type )value ;
11981205
1199- if (!parse_number (sh , & value , argv [idx ++ ], WIFI_TWT_SETUP_CMD_REQUEST ,
1206+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , WIFI_TWT_SETUP_CMD_REQUEST ,
12001207 WIFI_TWT_SETUP_CMD_DEMAND )) {
12011208 return - EINVAL ;
12021209 }
12031210 params .setup_cmd = (enum wifi_twt_setup_cmd )value ;
12041211
1205- if (!parse_number (sh , & value , argv [idx ++ ], 1 , 255 )) {
1212+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 1 , 255 )) {
12061213 return - EINVAL ;
12071214 }
12081215 params .dialog_token = (uint8_t )value ;
12091216
1210- if (!parse_number (sh , & value , argv [idx ++ ], 0 , (WIFI_MAX_TWT_FLOWS - 1 ))) {
1217+ if (!parse_number (sh , & value , argv [idx ++ ], NULL , 0 , (WIFI_MAX_TWT_FLOWS - 1 ))) {
12111218 return - EINVAL ;
12121219 }
12131220 params .flow_id = (uint8_t )value ;
@@ -1441,7 +1448,7 @@ static int cmd_wifi_listen_interval(const struct shell *sh, size_t argc, char *a
14411448
14421449 context .sh = sh ;
14431450
1444- if (!parse_number (sh , & interval , argv [1 ],
1451+ if (!parse_number (sh , & interval , argv [1 ], NULL ,
14451452 WIFI_LISTEN_INTERVAL_MIN ,
14461453 WIFI_LISTEN_INTERVAL_MAX )) {
14471454 return - EINVAL ;
0 commit comments