@@ -301,6 +301,8 @@ int8_t ws_cfg_network_size_set(protocol_interface_info_entry_t *cur, ws_gen_cfg_
301301 set_function (& nw_size_cfg );
302302 }
303303
304+ uint8_t cfg_network_size = cfg -> network_size ;
305+
304306 /* If no longer in an automatic network size mode, frees automatic configuration,
305307 so that new configuration is set */
306308 if (nw_size_external_cfg && old_network_size == NETWORK_SIZE_AUTOMATIC ) {
@@ -309,7 +311,7 @@ int8_t ws_cfg_network_size_set(protocol_interface_info_entry_t *cur, ws_gen_cfg_
309311 }
310312
311313 uint8_t set_flags = 0 ;
312- if (cfg -> network_size == NETWORK_SIZE_AUTOMATIC ) {
314+ if (cfg_network_size == NETWORK_SIZE_AUTOMATIC ) {
313315 set_flags = CFG_FLAGS_DISABLE_VAL_SET ;
314316 }
315317 /* Sets values if changed or network size has been previously automatic (to make sure
@@ -336,7 +338,7 @@ int8_t ws_cfg_network_size_set(protocol_interface_info_entry_t *cur, ws_gen_cfg_
336338 }
337339
338340 // If is in an automatic network size mode, updates automatic configuration
339- if (cfg -> network_size == NETWORK_SIZE_AUTOMATIC && cur ) {
341+ if (cfg_network_size == NETWORK_SIZE_AUTOMATIC && cur ) {
340342 ws_cfg_network_size_configure (cur , cur -> ws_info -> pan_information .pan_size );
341343 }
342344 return CFG_SETTINGS_OK ;
@@ -693,6 +695,7 @@ int8_t ws_cfg_gen_set(protocol_interface_info_entry_t *cur, ws_gen_cfg_t *cfg, w
693695 }
694696 ws_cfg_trace ((ws_cfgs_t * ) cfg , (ws_cfgs_t * ) new_cfg , sizeof (ws_gen_cfg_t ), "gen" );
695697
698+ cfg -> network_size = new_cfg -> network_size ;
696699 if (& cfg -> network_name != & new_cfg -> network_name ) {
697700 strncpy (cfg -> network_name , new_cfg -> network_name , 32 );
698701 }
0 commit comments