From cf70c4fca68bb59186ec38c3b82d852fab66844d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Gonz=C3=A1lez=20Moreno?= Date: Wed, 11 May 2022 08:32:51 +0200 Subject: [PATCH 1/2] Refs #14474. Fix error. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Static discovery doesn't take into account participant_name. Signed-off-by: Ricardo González Moreno --- src/cpp/xmlparser/XMLEndpointParser.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cpp/xmlparser/XMLEndpointParser.cpp b/src/cpp/xmlparser/XMLEndpointParser.cpp index 54606cfd89f..75e9468aa9c 100644 --- a/src/cpp/xmlparser/XMLEndpointParser.cpp +++ b/src/cpp/xmlparser/XMLEndpointParser.cpp @@ -793,10 +793,11 @@ XMLP_ret XMLEndpointParser::lookforReader( ReaderProxyData** rdataptr, uint32_t& position) { + std::string participant_name(partname); for (std::vector::iterator pit = m_RTPSParticipants.begin(); pit != m_RTPSParticipants.end(); ++pit) { - if ((*pit)->m_RTPSParticipantName == partname || true) //it doenst matter the name fo the RTPSParticipant, only for organizational purposes + if ((*pit)->m_RTPSParticipantName == participant_name.substr(0, participant_name.find_first_of('#'))) { position = 0; for (std::vector::iterator rit = (*pit)->m_readers.begin(); @@ -824,10 +825,11 @@ XMLP_ret XMLEndpointParser::lookforWriter( WriterProxyData** wdataptr, uint32_t& position) { + std::string participant_name(partname); for (std::vector::iterator pit = m_RTPSParticipants.begin(); pit != m_RTPSParticipants.end(); ++pit) { - if ((*pit)->m_RTPSParticipantName == partname || true) //it doenst matter the name fo the RTPSParticipant, only for organizational purposes + if ((*pit)->m_RTPSParticipantName == participant_name.substr(0, participant_name.find_first_of('#'))) { position = 0; for (std::vector::iterator wit = (*pit)->m_writers.begin(); From d022c6b37e2f23732f58655d6feec511b75d3d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Gonz=C3=A1lez?= Date: Tue, 7 Mar 2023 14:45:46 +0100 Subject: [PATCH 2/2] Refs #16279. Fix not able to use same userID in differnt participants MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ricardo González --- src/cpp/xmlparser/XMLEndpointParser.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cpp/xmlparser/XMLEndpointParser.cpp b/src/cpp/xmlparser/XMLEndpointParser.cpp index 75e9468aa9c..59dd5c47386 100644 --- a/src/cpp/xmlparser/XMLEndpointParser.cpp +++ b/src/cpp/xmlparser/XMLEndpointParser.cpp @@ -154,6 +154,8 @@ void XMLEndpointParser::loadXMLParticipantEndpoint( { tinyxml2::XMLNode* xml_RTPSParticipant_child = xml_endpoint; tinyxml2::XMLElement* element = xml_RTPSParticipant_child->FirstChildElement(); + m_endpointIds.clear(); + m_entityIds.clear(); while (element != nullptr) {