From ad4879663c2244ff88604292b239cc0400bf94df Mon Sep 17 00:00:00 2001 From: Ivan Santiago Paunovic Date: Mon, 23 Mar 2020 12:58:25 -0300 Subject: [PATCH] Correct errors after testing Signed-off-by: Ivan Santiago Paunovic --- rmw_cyclonedds_cpp/src/rmw_node.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rmw_cyclonedds_cpp/src/rmw_node.cpp b/rmw_cyclonedds_cpp/src/rmw_node.cpp index 22a7bf29..bd769e9c 100644 --- a/rmw_cyclonedds_cpp/src/rmw_node.cpp +++ b/rmw_cyclonedds_cpp/src/rmw_node.cpp @@ -426,7 +426,7 @@ extern "C" rmw_ret_t rmw_init(const rmw_init_options_t * options, rmw_context_t context->instance_id = options->instance_id; context->implementation_identifier = eclipse_cyclonedds_identifier; context->impl = nullptr; - return RMW_RET_OK; + return rmw_init_options_copy(options, &context->options); } extern "C" rmw_ret_t rmw_node_assert_liveliness(const rmw_node_t * node) @@ -668,7 +668,7 @@ static std::string get_node_user_data( const char * node_name, const char * node_namespace, const char * security_context) { return get_node_user_data_name_ns(node_name, node_namespace) + - std::string("security_context=") + std::string(security_context) + + std::string("securitycontext=") + std::string(security_context) + std::string(";"); } @@ -2965,7 +2965,7 @@ extern "C" rmw_ret_t rmw_get_node_names( } std::vector> ns; - const auto re = std::regex("^name=(.*);namespace=(.*);.*$", std::regex::extended); + const auto re = std::regex("^name=([^;]*);namespace=([^;]*);", std::regex::extended); auto oper = [&ns, re](const dds_builtintopic_participant_t & sample, const char * ud) -> bool { std::cmatch cm; @@ -3036,13 +3036,13 @@ extern "C" rmw_ret_t rmw_get_node_names_with_security_contexts( std::vector> ns; const auto re = std::regex( - "^name=(.*);namespace=(.*);securitycontext=(.*).*$", std::regex::extended); + "^name=([^;]*);namespace=([^;]*);securitycontext=([^;]*);", std::regex::extended); auto oper = [&ns, re](const dds_builtintopic_participant_t & sample, const char * ud) -> bool { std::cmatch cm; static_cast(sample); if (std::regex_search(ud, cm, re)) { - ns.insert(std::make_tuple(std::string(cm[1]), std::string(cm[2]), std::string(cm[3]))); + ns.push_back(std::make_tuple(std::string(cm[1]), std::string(cm[2]), std::string(cm[3]))); } return true; }; @@ -3154,7 +3154,7 @@ static void get_node_name( { static_cast(pp_guid); // only used in assert() bool node_found = false; - const auto re_ud = std::regex("^name=(.*);namespace=(.*);$", std::regex::extended); + const auto re_ud = std::regex("^name=([^;]*);namespace=([^;]*);", std::regex::extended); size_t udsz; dds_sample_info_t info; void * msg = NULL;