[openrtm-commit:02312] r2884 - branches/FSM4RTC/OpenRTM-aist/src/lib/coil/common

openrtm @ openrtm.org openrtm @ openrtm.org
2017年 1月 22日 (日) 22:59:15 JST


Author: n-ando
Date: 2017-01-22 22:59:14 +0900 (Sun, 22 Jan 2017)
New Revision: 2884

Modified:
   branches/FSM4RTC/OpenRTM-aist/src/lib/coil/common/stringutil.cpp
Log:
[incompat] isIPv4, isIPv6 functions have been added for Manager::setEndpointProperty(). refs #3836

Modified: branches/FSM4RTC/OpenRTM-aist/src/lib/coil/common/stringutil.cpp
===================================================================
--- branches/FSM4RTC/OpenRTM-aist/src/lib/coil/common/stringutil.cpp	2017-01-22 07:39:12 UTC (rev 2883)
+++ branches/FSM4RTC/OpenRTM-aist/src/lib/coil/common/stringutil.cpp	2017-01-22 13:59:14 UTC (rev 2884)
@@ -501,6 +501,12 @@
   }
   bool isIPv4(const std::string& str)
   {
+    for (size_t i(0); i < str.size(); ++i)
+      {
+        if (!((str[i] >= '0' && str[i] <= '9') ||
+              str[i] == '.' || str[i] == ':'))
+          { return false; }
+      }
     coil::vstring tmp = coil::split(str, ":");
     coil::vstring ipv4 = coil::split(str, ".");
     if (ipv4.size() != 4) { return false; }
@@ -517,6 +523,14 @@
     // IPv6 address must be
     // 1111:1111:1111:1111:1111:1111:1111:1111 (addr)
     // [1111:1111:1111:1111:1111:1111:1111:1111]:11111 (addr, port)
+    for (size_t i(0); i < str.size(); ++i)
+      {
+        if (!((str[i] >= '0' && str[i] <= '9') ||
+             (str[i] >= 'a' && str[i] <= 'f') ||
+             (str[i] >= 'A' && str[i] <= 'F') ||
+              str[i] == ':' || str[i] == '[' || str[i] == ']'))
+          { return false; }
+      }
     coil::vstring tmp = coil::split(str, "]:");
     if (tmp.size() > 2) { return false; }
     if (tmp.size() == 2)



More information about the openrtm-commit mailing list