Browse Source

a few small improvements

git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@1365 e5f2f494-b856-4b98-b285-d166d9295462
Jelte Jansen 15 years ago
parent
commit
9ef6a9667b
1 changed files with 10 additions and 3 deletions
  1. 10 3
      src/lib/config/tests/fake_session.cc

+ 10 - 3
src/lib/config/tests/fake_session.cc

@@ -56,6 +56,9 @@ using boost::asio::ip::tcp;
 static bool
 static bool
 listContains(ElementPtr list, ElementPtr el)
 listContains(ElementPtr list, ElementPtr el)
 {
 {
+    if (!list) {
+        return false;
+    }
     BOOST_FOREACH(ElementPtr l_el, list->listValue()) {
     BOOST_FOREACH(ElementPtr l_el, list->listValue()) {
         if (l_el == el) {
         if (l_el == el) {
             return true;
             return true;
@@ -116,8 +119,9 @@ haveSubscription(const std::string& group, const std::string& instance)
     s1->add(Element::create(group));
     s1->add(Element::create(group));
     s1->add(Element::create(instance));
     s1->add(Element::create(instance));
     s2->add(Element::create(group));
     s2->add(Element::create(group));
-    s2->add(Element::create(instance));
-    return (listContains(subscriptions, s1) || listContains(subscriptions, s2));
+    s2->add(Element::create("*"));
+    bool result = (listContains(subscriptions, s1) || listContains(subscriptions, s2));
+    return result;
 }
 }
 
 
 bool
 bool
@@ -223,11 +227,14 @@ Session::recvmsg(ElementPtr& env, ElementPtr& msg, bool nonblock UNUSED_PARAM) {
 }
 }
 
 
 void
 void
-    //cout << "[XX] client subscribes to " << group << " . " << instance << endl;
 Session::subscribe(std::string group, std::string instance) {
 Session::subscribe(std::string group, std::string instance) {
+    //cout << "[XX] client subscribes to " << group << " . " << instance << endl;
     ElementPtr s_el = Element::createFromString("[]");
     ElementPtr s_el = Element::createFromString("[]");
     s_el->add(Element::create(group));
     s_el->add(Element::create(group));
     s_el->add(Element::create(instance));
     s_el->add(Element::create(instance));
+    if (!subscriptions) {
+        subscriptions = Element::createFromString("[]");
+    }
     subscriptions->add(s_el);
     subscriptions->add(s_el);
 }
 }