[openrtm-commit:02835] r3046 - trunk/OpenRTM-aist/src/lib/rtm
openrtm @ openrtm.org
openrtm @ openrtm.org
2017年 9月 19日 (火) 20:34:14 JST
Author: n-ando
Date: 2017-09-19 20:34:14 +0900 (Tue, 19 Sep 2017)
New Revision: 3046
Modified:
trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp
Log:
[compat,rtc.conf] A bug in preconnection option parser, which crash when ConnectorProfiles are not given or invalid format, fixed.
Modified: trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp 2017-09-15 07:50:04 UTC (rev 3045)
+++ trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp 2017-09-19 11:34:14 UTC (rev 3046)
@@ -406,7 +406,7 @@
}
{ // pre-connection
- RTC_TRACE(("Connection pre-creation: %s",
+ RTC_TRACE(("Connection pre-connection: %s",
m_config["manager.components.preconnect"].c_str()));
std::vector<std::string> connectors;
connectors = coil::split(m_config["manager.components.preconnect"], ",");
@@ -414,7 +414,14 @@
{
// ConsoleIn.out:Console.in(dataflow_type=push,....)
coil::vstring conn_prop = coil::split(connectors[i], "(");
- coil::replaceString(conn_prop[1], ")", "");
+ if (conn_prop.size() == 1)
+ {
+ conn_prop. // default connector profile value
+ push_back("dataflow_type=push&interface_type=corba_cdr");
+ } // after this conn_prop.size() >= 2
+ std::size_t pos = conn_prop[1].find_last_of(")");
+ if (pos != std::string::npos) { conn_prop[1].erase(pos); }
+
coil::vstring comp_ports;
comp_ports = coil::split(conn_prop[0], ":");
if (comp_ports.size() != 2)
More information about the openrtm-commit
mailing list