]> git.stg.codes - stg.git/blobdiff - include/user_ips.h
У консольному конфігураторі додано завершуючий нуль після використання
[stg.git] / include / user_ips.h
index d3e640c16e3754fd7fd9c0ad17e1f44835c40455..f160a31a04d028376a7b15c87a1bd2b993c11d80 100644 (file)
@@ -202,8 +202,7 @@ std::vector<std::string> ipMask;
 std::string err;
 if (ipsStr.empty())
     {
 std::string err;
 if (ipsStr.empty())
     {
-    err = "Incorrect IP address.";
-    throw(err);
+    return ips;
     }
 
 if (ipsStr[0] == '*' && ipsStr.size() == 1)
     }
 
 if (ipsStr[0] == '*' && ipsStr.size() == 1)
@@ -235,7 +234,7 @@ for (unsigned int i = 0; i < ipMask.size(); i++)
     if (strIp == NULL)
         {
         err = "Incorrect IP address " + ipsStr;
     if (strIp == NULL)
         {
         err = "Incorrect IP address " + ipsStr;
-        throw(err);
+        return ips;
         }
     strMask = strtok(NULL, "/");
 
         }
     strMask = strtok(NULL, "/");
 
@@ -243,7 +242,7 @@ for (unsigned int i = 0; i < ipMask.size(); i++)
     if (im.ip == INADDR_NONE)
         {
         err = "Incorrect IP address: " + std::string(strIp);
     if (im.ip == INADDR_NONE)
         {
         err = "Incorrect IP address: " + std::string(strIp);
-        throw(err);
+        return ips;
         }
 
     im.mask = 32;
         }
 
     im.mask = 32;
@@ -253,20 +252,20 @@ for (unsigned int i = 0; i < ipMask.size(); i++)
         if (str2x(strMask, m) != 0)
             {
             err = "Incorrect mask: " + std::string(strMask);
         if (str2x(strMask, m) != 0)
             {
             err = "Incorrect mask: " + std::string(strMask);
-            throw(err);
+            return ips;
             }
         im.mask = m;
 
         if (im.mask > 32)
             {
             err = "Incorrect mask: " + std::string(strMask);
             }
         im.mask = m;
 
         if (im.mask > 32)
             {
             err = "Incorrect mask: " + std::string(strMask);
-            throw(err);
+            return ips;
             }
 
         if ((im.ip & ips.CalcMask(im.mask)) != im.ip)
             {
             err = "Address does'n match mask: " + std::string(strIp) + "/" + std::string(strMask);
             }
 
         if ((im.ip & ips.CalcMask(im.mask)) != im.ip)
             {
             err = "Address does'n match mask: " + std::string(strIp) + "/" + std::string(strMask);
-            throw(err);
+            return ips;
             }
         }
     ips.ips.push_back(im);
             }
         }
     ips.ips.push_back(im);
@@ -276,5 +275,3 @@ return ips;
 }
 //-------------------------------------------------------------------------
 #endif //USER_IPS_H
 }
 //-------------------------------------------------------------------------
 #endif //USER_IPS_H
-
-