diff --git a/src/blackboard.cpp b/src/blackboard.cpp index 0f1f304db..2202f1260 100644 --- a/src/blackboard.cpp +++ b/src/blackboard.cpp @@ -143,7 +143,7 @@ void Blackboard::createEntry(const std::string& key, const TypeInfo& info) { if(StartWith(key, '@')) { - rootBlackboard()->createEntryImpl(key.substr(1, key.size() - 1), info); + rootBlackboard()->createEntry(key.substr(1, key.size() - 1), info); } else { diff --git a/tests/gtest_blackboard.cpp b/tests/gtest_blackboard.cpp index fcbc272a3..ffe0e656a 100644 --- a/tests/gtest_blackboard.cpp +++ b/tests/gtest_blackboard.cpp @@ -654,3 +654,14 @@ TEST(BlackboardTest, TimestampedInterface) ASSERT_EQ(stamp_opt->seq, 2); ASSERT_GE(stamp_opt->time.count(), nsec_before); } + +TEST(BlackboardTest, EmptyKeyTest) +{ + auto bb = BT::Blackboard::create(); + bb->set("", 2); + ASSERT_EQ(bb->get(""), 2); + bb->set("@@", 3); + ASSERT_EQ(bb->get("@@"), 3); + ASSERT_EQ(bb->get("@"), 3); + ASSERT_EQ(bb->get(""), 3); +}