Просмотр исходного кода

[netconf]fix if-condition of compare sWebParams & sWebTempParams

balbekova 5 лет назад
Родитель
Сommit
03335876c2
1 измененных файлов с 285 добавлено и 313 удалено
  1. 285 313
      modules/Ethernet/netconf.c

+ 285 - 313
modules/Ethernet/netconf.c

@@ -35,13 +35,13 @@ extern SETTINGS_t sSettings;
 
 /**
   * @brief  Флаг подтверждения новых сетевых параметров пользователем
-  */  
+  */
 extern bool fConfirmWebParams;
 
 /**
   * @brief  Network interface structure
   */
-struct netif xnetif; 
+struct netif xnetif;
 
 /**
   * @brief  Задача получения сетевый параметров по DHCP протоколу
@@ -53,106 +53,98 @@ TaskHandle_t xHandleDHCP = NULL;
   */
 TaskHandle_t xHandleWebReinit = NULL;
 
-bool dhcp = false;	
+bool dhcp = false;
 
 bool isIpReceived = false;
 
 void LwIP_Init(void)
 {
-  struct ip4_addr ipaddr;
-  struct ip4_addr netmask;
-  struct ip4_addr gw;
-  char str[20];
-
-  tcpip_init( NULL, NULL );	
-
-  /* Если настройки изменили, то используем временные параметры */
-  if (sSettings.sFlags.netsettingsChanged == true)
-  {
-    if (sSettings.sWebTempParams.dhcpEnable)
-    {	
-      ipaddr.addr = 0;
-      netmask.addr = 0;
-      gw.addr = 0;
-	
-	  netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
-      netif_set_default(&xnetif);
-      netif_set_link_up(&xnetif);
-      netif_set_up(&xnetif); 
-    }	
-    else
-    {	
-	  ipaddr.addr = ipaddr_addr(sSettings.sWebTempParams.ip);
-	  netmask.addr = ipaddr_addr(sSettings.sWebTempParams.mask);
-	  gw.addr = ipaddr_addr(sSettings.sWebTempParams.gate);
-  
-      sprintf(str, " %s\n\r", sSettings.sWebTempParams.ip);
-      PRINT_USART("\n\rStatic IP address   \n\r");
-      PRINT_USART(str);
-
-      netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
-      netif_set_default(&xnetif);
-      netif_set_link_up(&xnetif);
-      netif_set_up(&xnetif); 
-      
-      isIpReceived = true;
+    struct ip4_addr ipaddr;
+    struct ip4_addr netmask;
+    struct ip4_addr gw;
+    char str[20];
+
+    tcpip_init( NULL, NULL );
+
+    /* Если настройки изменили, то используем временные параметры */
+    if (sSettings.sFlags.netsettingsChanged == true) {
+        if (sSettings.sWebTempParams.dhcpEnable) {
+            ipaddr.addr = 0;
+            netmask.addr = 0;
+            gw.addr = 0;
+
+            netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
+            netif_set_default(&xnetif);
+            netif_set_link_up(&xnetif);
+            netif_set_up(&xnetif);
+        } else {
+            ipaddr.addr = ipaddr_addr(sSettings.sWebTempParams.ip);
+            netmask.addr = ipaddr_addr(sSettings.sWebTempParams.mask);
+            gw.addr = ipaddr_addr(sSettings.sWebTempParams.gate);
+
+            sprintf(str, " %s\n\r", sSettings.sWebTempParams.ip);
+            PRINT_USART("\n\rStatic IP address   \n\r");
+            PRINT_USART(str);
+
+            netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
+            netif_set_default(&xnetif);
+            netif_set_link_up(&xnetif);
+            netif_set_up(&xnetif);
+
+            isIpReceived = true;
+        }
+
+        if (sSettings.sWebTempParams.dhcpEnable) {
+            xTaskCreate(LwIP_DHCP_task, "DHCPClient", configMINIMAL_STACK_SIZE * 2, NULL,
+                tskIDLE_PRIORITY + 2, &xHandleDHCP);
+            dhcp = true;
+        }
     }
-  
-	if (sSettings.sWebTempParams.dhcpEnable) {
-      xTaskCreate(LwIP_DHCP_task, "DHCPClient", configMINIMAL_STACK_SIZE * 2, NULL,
-                  tskIDLE_PRIORITY + 2, &xHandleDHCP);
-	  dhcp = true;
-	}  
-  }
-  /* Настройки не менялись, используем обычне настройки из флеш памяти */
-  else
-  {
-    if (sSettings.sWebParams.dhcpEnable)
-    {	
-      ipaddr.addr = 0;
-      netmask.addr = 0;
-      gw.addr = 0;
-	
-	  netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
-      netif_set_default(&xnetif);
-      netif_set_link_up(&xnetif);
-      netif_set_up(&xnetif); 
-    }	
-    else
-    {	
-	  ipaddr.addr = ipaddr_addr(sSettings.sWebParams.ip);
-	  netmask.addr = ipaddr_addr(sSettings.sWebParams.mask);
-	  gw.addr = ipaddr_addr(sSettings.sWebParams.gate);
-  	  
-	  /* Обновляем временные настройки */
-	  sSettings.sWebTempParams.dhcpEnable = sSettings.sWebParams.dhcpEnable;
-	  strcpy(sSettings.sWebTempParams.ip, sSettings.sWebParams.ip);
-	  strcpy(sSettings.sWebTempParams.mask, sSettings.sWebParams.mask);
-	  strcpy(sSettings.sWebTempParams.gate, sSettings.sWebParams.gate);
-	  
-      sprintf(str, " %s\n\r", sSettings.sWebParams.ip);
-      PRINT_USART("\n\rStatic IP address   \n\r");
-      PRINT_USART(str);
-
-      netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
-      netif_set_default(&xnetif);
-      netif_set_link_up(&xnetif);
-      netif_set_up(&xnetif); 
-      
-      isIpReceived = true;
+    /* Настройки не менялись, используем обычне настройки из флеш памяти */
+    else {
+        if (sSettings.sWebParams.dhcpEnable) {
+            ipaddr.addr = 0;
+            netmask.addr = 0;
+            gw.addr = 0;
+
+            netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
+            netif_set_default(&xnetif);
+            netif_set_link_up(&xnetif);
+            netif_set_up(&xnetif);
+        } else {
+            ipaddr.addr = ipaddr_addr(sSettings.sWebParams.ip);
+            netmask.addr = ipaddr_addr(sSettings.sWebParams.mask);
+            gw.addr = ipaddr_addr(sSettings.sWebParams.gate);
+
+            /* Обновляем временные настройки */
+            sSettings.sWebTempParams.dhcpEnable = sSettings.sWebParams.dhcpEnable;
+            strcpy(sSettings.sWebTempParams.ip, sSettings.sWebParams.ip);
+            strcpy(sSettings.sWebTempParams.mask, sSettings.sWebParams.mask);
+            strcpy(sSettings.sWebTempParams.gate, sSettings.sWebParams.gate);
+
+            sprintf(str, " %s\n\r", sSettings.sWebParams.ip);
+            PRINT_USART("\n\rStatic IP address   \n\r");
+            PRINT_USART(str);
+
+            netif_add(&xnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input);
+            netif_set_default(&xnetif);
+            netif_set_link_up(&xnetif);
+            netif_set_up(&xnetif);
+
+            isIpReceived = true;
+        }
+
+        if (sSettings.sWebParams.dhcpEnable) {
+            xTaskCreate(LwIP_DHCP_task, "DHCPClient", configMINIMAL_STACK_SIZE * 2, NULL,
+                tskIDLE_PRIORITY + 2, &xHandleDHCP);
+            dhcp = true;
+        }
     }
-  
-	if (sSettings.sWebParams.dhcpEnable) {
-      xTaskCreate(LwIP_DHCP_task, "DHCPClient", configMINIMAL_STACK_SIZE * 2, NULL,
-                  tskIDLE_PRIORITY + 2, &xHandleDHCP);
-	  dhcp = true;
-	}  
-  }
-  
-  /* Если настройки изменились, запускаем задачу по отсчету времени реакции пользователя*/
-  if (sSettings.sFlags.netsettingsChanged == true)
-    xTaskCreate(vTaskWebReinit, "webReinit", configMINIMAL_STACK_SIZE, NULL,
-              tskIDLE_PRIORITY, &xHandleWebReinit);
+
+    /* Если настройки изменились, запускаем задачу по отсчету времени реакции пользователя*/
+    if (sSettings.sFlags.netsettingsChanged == true)
+        xTaskCreate(vTaskWebReinit, "webReinit", configMINIMAL_STACK_SIZE, NULL,
+            tskIDLE_PRIORITY, &xHandleWebReinit);
 }
 
 /**
@@ -160,131 +152,117 @@ void LwIP_Init(void)
   * @param  None
   * @retval None
   */
-void LwIP_DHCP_task(void * pvParameters)
+void LwIP_DHCP_task(void *pvParameters)
 {
-  struct ip4_addr ipaddr;
-  struct ip4_addr netmask;
-  struct ip4_addr gw;
-  uint8_t DHCP_state;  
-  DHCP_state = DHCP_START;
-  
-
-  for (;;)
-  {
-	  struct dhcp *dhcp = netif_dhcp_data(&xnetif);
-    switch (DHCP_state)
-    {
-      case DHCP_START:
-      {
-        dhcp_start(&xnetif);
-        DHCP_state = DHCP_WAIT_ADDRESS;
-        //PRINT_USART("\n\rLooking for DHCP server please wait...\n\r");
-      }
-      break;
-
-      case DHCP_WAIT_ADDRESS:
-      {
-        /* Read the new IP address */
-        ipaddr = xnetif.ip_addr;
-        netmask = xnetif.netmask;
-        gw = xnetif.gw;
-        	
-        if (ipaddr.addr != 0) 
-        {
-          DHCP_state = DHCP_ADDRESS_ASSIGNED;	
-          dhcp_stop(&xnetif);
-          
-		  /* Сохранение полученных сетевый параметров */
-		  /* Если настройки изменили, то сохраняем во временные настройки */
-          if (sSettings.sFlags.netsettingsChanged == true)
-		  {
-		    sprintf(sSettings.sWebTempParams.ip,   "%s", ipaddr_ntoa(&ipaddr));
-		    sprintf(sSettings.sWebTempParams.mask, "%s", ipaddr_ntoa(&netmask));
-		    sprintf(sSettings.sWebTempParams.gate, "%s", ipaddr_ntoa(&gw));
-		  }
-		  else
-		  {
-		    sprintf(sSettings.sWebParams.ip,   "%s", ipaddr_ntoa(&ipaddr));
-		    sprintf(sSettings.sWebParams.mask, "%s", ipaddr_ntoa(&netmask));
-		    sprintf(sSettings.sWebParams.gate, "%s", ipaddr_ntoa(&gw));
-			
-			/* Обновляем временные настройки */
-			sSettings.sWebTempParams.dhcpEnable = sSettings.sWebParams.dhcpEnable;
-			sprintf(sSettings.sWebTempParams.ip,   "%s", ipaddr_ntoa(&ipaddr));
-		    sprintf(sSettings.sWebTempParams.mask, "%s", ipaddr_ntoa(&netmask));
-		    sprintf(sSettings.sWebTempParams.gate, "%s", ipaddr_ntoa(&gw));
-			
-		  }
-		  
-		  PRINT_USART("Parameters assigned by a DHCP server:\n\r     IP:   ");
-          PRINT_USART(ipaddr_ntoa(&ipaddr));
-		  PRINT_USART("\n\r");
-          
-		  PRINT_USART("Netmask:   ");
-		  PRINT_USART(ipaddr_ntoa(&netmask));
-		  PRINT_USART("\n\r");
-		  
-		  PRINT_USART("Gateway:   ");
-		  PRINT_USART(ipaddr_ntoa(&gw));
-		  PRINT_USART("\n\r");
-          
-          isIpReceived = true;
-          
-		  vTaskDelay(50);
-		  /* Установлен динамический IP, можно отправить трап о перезагрузке устройства */
-		//  SNMP_SendUserTrap(DEVICE_REBOOTED);
-		  
-          vTaskDelete(xHandleDHCP);
-        }
-        else
-        {
-          /* DHCP timeout */
-          //if (xnetif.dhcp->tries > MAX_DHCP_TRIES)
-          if (dhcp->tries > MAX_DHCP_TRIES)
-          {
-            DHCP_state = DHCP_TIMEOUT;
-
-            /* Stop DHCP */
-            dhcp_stop(&xnetif);
-			
-			if (sSettings.sFlags.netsettingsChanged == true)
-		    {
-			  ipaddr.addr = ipaddr_addr(sSettings.sWebTempParams.ip);
-	          netmask.addr = ipaddr_addr(sSettings.sWebTempParams.mask);
-	          gw.addr = ipaddr_addr(sSettings.sWebTempParams.gate);
-			}  
-			else
-			{  
-			  ipaddr.addr = ipaddr_addr(sSettings.sWebParams.ip);
-	          netmask.addr = ipaddr_addr(sSettings.sWebParams.mask);
-	          gw.addr = ipaddr_addr(sSettings.sWebParams.gate);
-			}
-			  
-            /* Static address used */
-            netif_set_addr(&xnetif, &ipaddr , &netmask, &gw);
- 
-            PRINT_USART("DHCP timeout\n\r");
-            PRINT_USART("\n\rStatic IP address\n\r");
-			PRINT_USART(ipaddr_ntoa(&ipaddr));
-		    PRINT_USART("\n\r");
+    struct ip4_addr ipaddr;
+    struct ip4_addr netmask;
+    struct ip4_addr gw;
+    uint8_t DHCP_state;
+    DHCP_state = DHCP_START;
 
-            isIpReceived = true;
-            
-			vTaskDelay(50);
-			/* Установлен статический IP, можно отправить трап о перезагрузке устройства */
-		   // SNMP_SendUserTrap(DEVICE_REBOOTED);
-			
-			vTaskDelete(xHandleDHCP);
-          }
+
+    for (;;) {
+        struct dhcp *dhcp = netif_dhcp_data(&xnetif);
+        switch (DHCP_state) {
+            case DHCP_START: {
+                dhcp_start(&xnetif);
+                DHCP_state = DHCP_WAIT_ADDRESS;
+                //PRINT_USART("\n\rLooking for DHCP server please wait...\n\r");
+            }
+            break;
+
+            case DHCP_WAIT_ADDRESS: {
+                /* Read the new IP address */
+                ipaddr = xnetif.ip_addr;
+                netmask = xnetif.netmask;
+                gw = xnetif.gw;
+
+                if (ipaddr.addr != 0) {
+                    DHCP_state = DHCP_ADDRESS_ASSIGNED;
+                    dhcp_stop(&xnetif);
+
+                    /* Сохранение полученных сетевый параметров */
+                    /* Если настройки изменили, то сохраняем во временные настройки */
+                    if (sSettings.sFlags.netsettingsChanged == true) {
+                        sprintf(sSettings.sWebTempParams.ip,   "%s", ipaddr_ntoa(&ipaddr));
+                        sprintf(sSettings.sWebTempParams.mask, "%s", ipaddr_ntoa(&netmask));
+                        sprintf(sSettings.sWebTempParams.gate, "%s", ipaddr_ntoa(&gw));
+                    } else {
+                        sprintf(sSettings.sWebParams.ip,   "%s", ipaddr_ntoa(&ipaddr));
+                        sprintf(sSettings.sWebParams.mask, "%s", ipaddr_ntoa(&netmask));
+                        sprintf(sSettings.sWebParams.gate, "%s", ipaddr_ntoa(&gw));
+
+                        /* Обновляем временные настройки */
+                        sSettings.sWebTempParams.dhcpEnable = sSettings.sWebParams.dhcpEnable;
+                        sprintf(sSettings.sWebTempParams.ip,   "%s", ipaddr_ntoa(&ipaddr));
+                        sprintf(sSettings.sWebTempParams.mask, "%s", ipaddr_ntoa(&netmask));
+                        sprintf(sSettings.sWebTempParams.gate, "%s", ipaddr_ntoa(&gw));
+
+                    }
+
+                    PRINT_USART("Parameters assigned by a DHCP server:\n\r     IP:   ");
+                    PRINT_USART(ipaddr_ntoa(&ipaddr));
+                    PRINT_USART("\n\r");
+
+                    PRINT_USART("Netmask:   ");
+                    PRINT_USART(ipaddr_ntoa(&netmask));
+                    PRINT_USART("\n\r");
+
+                    PRINT_USART("Gateway:   ");
+                    PRINT_USART(ipaddr_ntoa(&gw));
+                    PRINT_USART("\n\r");
+
+                    isIpReceived = true;
+
+                    vTaskDelay(50);
+                    /* Установлен динамический IP, можно отправить трап о перезагрузке устройства */
+                    //  SNMP_SendUserTrap(DEVICE_REBOOTED);
+
+                    vTaskDelete(xHandleDHCP);
+                } else {
+                    /* DHCP timeout */
+                    //if (xnetif.dhcp->tries > MAX_DHCP_TRIES)
+                    if (dhcp->tries > MAX_DHCP_TRIES) {
+                        DHCP_state = DHCP_TIMEOUT;
+
+                        /* Stop DHCP */
+                        dhcp_stop(&xnetif);
+
+                        if (sSettings.sFlags.netsettingsChanged == true) {
+                            ipaddr.addr = ipaddr_addr(sSettings.sWebTempParams.ip);
+                            netmask.addr = ipaddr_addr(sSettings.sWebTempParams.mask);
+                            gw.addr = ipaddr_addr(sSettings.sWebTempParams.gate);
+                        } else {
+                            ipaddr.addr = ipaddr_addr(sSettings.sWebParams.ip);
+                            netmask.addr = ipaddr_addr(sSettings.sWebParams.mask);
+                            gw.addr = ipaddr_addr(sSettings.sWebParams.gate);
+                        }
+
+                        /* Static address used */
+                        netif_set_addr(&xnetif, &ipaddr, &netmask, &gw);
+
+                        PRINT_USART("DHCP timeout\n\r");
+                        PRINT_USART("\n\rStatic IP address\n\r");
+                        PRINT_USART(ipaddr_ntoa(&ipaddr));
+                        PRINT_USART("\n\r");
+
+                        isIpReceived = true;
+
+                        vTaskDelay(50);
+                        /* Установлен статический IP, можно отправить трап о перезагрузке устройства */
+                        // SNMP_SendUserTrap(DEVICE_REBOOTED);
+
+                        vTaskDelete(xHandleDHCP);
+                    }
+                }
+            }
+            break;
+
+            default: break;
         }
-      }
-      break;
 
-      default: break;
+        vTaskDelay(250);
     }
-
-    vTaskDelay(250);
-  }   
 }
 
 /**
@@ -292,67 +270,64 @@ void LwIP_DHCP_task(void * pvParameters)
   */
 void WEB_StartReinitTask(void)
 {
-  xTaskCreate(vTaskWebReinit, "ReinitWeb", 2*configMINIMAL_STACK_SIZE, NULL,
-              tskIDLE_PRIORITY, &xHandleWebReinit);
+    xTaskCreate(vTaskWebReinit, "ReinitWeb", 2 * configMINIMAL_STACK_SIZE, NULL,
+        tskIDLE_PRIORITY, &xHandleWebReinit);
 }
 
 /**
   * @brief  Переинициализация WEB. Задача положенное время отслеживает флаг
-  *         fConfirmWebParams. 
+  *         fConfirmWebParams.
   *           Если флаг устанавливается в положенное время,
-  *         временные настройки web перезаписываются в постоянные, сбрасывается 
-  *         флаг sSettings.sFlags.netsettingsChanged и вся структура настроек 
-  *         сохраняется в памяти. 
+  *         временные настройки web перезаписываются в постоянные, сбрасывается
+  *         флаг sSettings.sFlags.netsettingsChanged и вся структура настроек
+  *         сохраняется в памяти.
   *           Если флаг не устанавливается в положенное время, то сбрасывается
   *         флаг sSettings.sFlags.netsettingsChanged, сохраняется вся структура
   *         настроек в памяти и контроллер перезагружается.
   */
-void vTaskWebReinit(void * pvParameters)
+void vTaskWebReinit(void *pvParameters)
 {
-  static uint16_t timeCounter = 0;
-  
-  for (;;)
-  {
-	/* Контроль времени работы задачи */
-	if (timeCounter++ > TIME_COUNTER_10_MIN)
-	{
-	  SetWebReinitFlag(false);
-	  HTTP_SaveSettings();
-      vTaskDelay(1010);
-      Reboot();
-	}
-	
-	if (fConfirmWebParams)
-	{
-	  fConfirmWebParams = false;
-		
-	  /* Сохраняем временные сетевые настройки в постоянные */
-	  sSettings.sWebParams.dhcpEnable = sSettings.sWebTempParams.dhcpEnable;
-	  strcpy(sSettings.sWebParams.ip,   sSettings.sWebTempParams.ip);
-	  strcpy(sSettings.sWebParams.gate, sSettings.sWebTempParams.gate);
-	  strcpy(sSettings.sWebParams.mask, sSettings.sWebTempParams.mask);
+    static uint16_t timeCounter = 0;
+
+    for (;;) {
+        /* Контроль времени работы задачи */
+        if (timeCounter++ > TIME_COUNTER_10_MIN) {
+            SetWebReinitFlag(false);
+            HTTP_SaveSettings();
+            vTaskDelay(1010);
+            Reboot();
+        }
+
+        if (fConfirmWebParams) {
+            fConfirmWebParams = false;
+
+            /* Сохраняем временные сетевые настройки в постоянные */
+            sSettings.sWebParams.dhcpEnable = sSettings.sWebTempParams.dhcpEnable;
+            strcpy(sSettings.sWebParams.ip,   sSettings.sWebTempParams.ip);
+            strcpy(sSettings.sWebParams.gate, sSettings.sWebTempParams.gate);
+            strcpy(sSettings.sWebParams.mask, sSettings.sWebTempParams.mask);
 #ifdef HARDWARE_BT6709
-	  for(uint8_t i = 0; i < MAX_WHITE_LIST; i++){
-		  strcpy(sSettings.sWhiteList[i].ip_range, sSettings.sWhiteListTemp[i].ip_range);
-		  sSettings.sWhiteList[i].ip = sSettings.sWhiteListTemp[i].ip;
-		  sSettings.sWhiteList[i].mask = sSettings.sWhiteListTemp[i].mask;
-	  }
+            for (uint8_t i = 0; i < MAX_WHITE_LIST; i++) {
+                strcpy(sSettings.sWhiteList[i].ip_range, sSettings.sWhiteListTemp[i].ip_range);
+                sSettings.sWhiteList[i].ip = sSettings.sWhiteListTemp[i].ip;
+                sSettings.sWhiteList[i].mask = sSettings.sWhiteListTemp[i].mask;
+            }
 #endif
-	  HTTP_SaveSettings();
-	  
-	  vTaskDelete(xHandleWebReinit);
-	}	
-	  
-	vTaskDelay(1000);
-  }	
-}	
+            HTTP_SaveSettings();
+
+            vTaskDelete(xHandleWebReinit);
+        }
+
+        vTaskDelay(1000);
+    }
+}
 
 void SaveWEBparam(void)
 {
-  sSettings.sWebParams.dhcpEnable = sSettings.sWebTempParams.dhcpEnable;
-  strcpy(sSettings.sWebParams.ip,   sSettings.sWebTempParams.ip);
-  strcpy(sSettings.sWebParams.gate, sSettings.sWebTempParams.gate);
-  strcpy(sSettings.sWebParams.mask, sSettings.sWebTempParams.mask);
+    sSettings.sWebParams.dhcpEnable = sSettings.sWebTempParams.dhcpEnable;
+    strcpy(sSettings.sWebParams.ip,   sSettings.sWebTempParams.ip);
+    strcpy(sSettings.sWebParams.gate, sSettings.sWebTempParams.gate);
+    strcpy(sSettings.sWebParams.mask, sSettings.sWebTempParams.mask);
 }
 
 /**
@@ -360,60 +335,57 @@ void SaveWEBparam(void)
   */
 bool GetStateWebReinit(void)
 {
-  /* Статус dhcp изменился? */
-  if (sSettings.sWebParams.dhcpEnable != sSettings.sWebTempParams.dhcpEnable)
-  {
-	/* Включили dhcp */
-    if (sSettings.sWebTempParams.dhcpEnable == 1)
-	{
-	  /* Устанавилваем флаг */
-	  SetWebReinitFlag(true);
-	  return true;
-	}
-	/* Выключили dhcp */
-	else
-	{
-	  /* Устанавилваем флаг */
-      SetWebReinitFlag(true);
-	  return true;
-	}  
-  }
-  
-  /* Изменился IP? */
-  if (strstr(sSettings.sWebParams.ip, sSettings.sWebTempParams.ip) == 0)
-  {
-    /* Устанавилваем флаг */
-	SetWebReinitFlag(true);
-	return true;
-  }
- 
-  /* Изменился шлюз? */
-  if (strstr(sSettings.sWebParams.gate, sSettings.sWebTempParams.gate) == 0)
-  {
-    /* Устанавилваем флаг */
-	SetWebReinitFlag(true);
-	return true;
-  }
-  
-  /* Изменилась маска? */
-  if (strstr(sSettings.sWebParams.mask, sSettings.sWebTempParams.mask) == 0)
-  {
-    /* Устанавилваем флаг */
-	SetWebReinitFlag(true);
-	return true;
-  }
+    /* Статус dhcp изменился? */
+    if (sSettings.sWebParams.dhcpEnable != sSettings.sWebTempParams.dhcpEnable) {
+        /* Включили dhcp */
+        if (sSettings.sWebTempParams.dhcpEnable == 1) {
+            /* Устанавилваем флаг */
+            SetWebReinitFlag(true);
+            return true;
+        }
+        /* Выключили dhcp */
+        else {
+            /* Устанавилваем флаг */
+            SetWebReinitFlag(true);
+            return true;
+        }
+    }
+
+    /* Изменился IP? */
+    if (strstr(sSettings.sWebParams.ip, sSettings.sWebTempParams.ip) == 0
+        || strlen(sSettings.sWebParams.ip) != strlen(sSettings.sWebTempParams.ip)) {
+        /* Устанавилваем флаг */
+        SetWebReinitFlag(true);
+        return true;
+    }
+
+    /* Изменился шлюз? */
+    if (strstr(sSettings.sWebParams.gate, sSettings.sWebTempParams.gate) == 0
+        || strlen(sSettings.sWebParams.gate) != strlen(sSettings.sWebTempParams.gate)) {
+        /* Устанавилваем флаг */
+        SetWebReinitFlag(true);
+        return true;
+    }
+
+    /* Изменилась маска? */
+    if (strstr(sSettings.sWebParams.mask, sSettings.sWebTempParams.mask) == 0
+        || strlen(sSettings.sWebParams.mask) != strlen(sSettings.sWebTempParams.mask)) {
+        /* Устанавилваем флаг */
+        SetWebReinitFlag(true);
+        return true;
+    }
 #ifdef HARDWARE_BT6709
-  /* Изменился диапазон доверительных хостов? */
-  for(uint8_t i = 0; i < MAX_WHITE_LIST; i++){
-	  if (strstr(sSettings.sWhiteList[i].ip_range, sSettings.sWhiteListTemp[i].ip_range) == 0)
-	  {
-		// Устанавилваем флаг
-		SetWebReinitFlag(true);
-		return true;
-	  }
-  }
+    /* Изменился диапазон доверительных хостов? */
+    for (uint8_t i = 0; i < MAX_WHITE_LIST; i++) {
+        if (strstr(sSettings.sWhiteList[i].ip_range, sSettings.sWhiteListTemp[i].ip_range) == 0
+            || strlen(sSettings.sWhiteList[i].ip_range) != strlen(sSettings.sWhiteListTemp[i].ip_range)) {
+            // Устанавилваем флаг
+            SetWebReinitFlag(true);
+            return true;
+        }
+    }
 #endif
-  return false;
+    return false;
 }
 
 /*********** Portions COPYRIGHT 2012 Embest Tech. Co., Ltd.*****END OF FILE****/