From 8a80f26e6e17fd6b606ff930a711e757022fb270 Mon Sep 17 00:00:00 2001 From: Kristofer Bengtsson Date: Wed, 8 Jul 2020 09:11:26 +0200 Subject: [PATCH] Fixed so that only the node name is needed in a params.yaml file. Before the fully qualified name was required. node_name: ros__parameters: p1: ["a", "aa"] The following also works: /node_name: /**: **: --- src/lib.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 25549b2..7aef1df 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -562,7 +562,8 @@ impl Node { (*(*params.as_ref())).params, (*(*params.as_ref())).num_nodes) }; - let qualified_name = self.fully_qualified_name()?; + let qualified_name = self.fully_qualified_name()?; + let name = self.name()?; for (nn, np) in node_names.iter().zip(node_params) { let node_name_cstr = unsafe { CStr::from_ptr(*nn as *mut i8) }; @@ -571,7 +572,12 @@ impl Node { // This is copied from rclcpp, but there is a comment there suggesting // that more wildcards will be added in the future. Take note and mimic // their behavior. - if !(node_name == "/**" || qualified_name == node_name) { + if !( + node_name == "/**" || + node_name == "**" || + qualified_name == node_name || + name == node_name + ) { continue; }