mgmt refactoring: Correct ForwarderStatus publishing

Change-Id: I8207af814757b5f4ce3ea9b8bb66d7f5a369af2f
Refs: #2107
diff --git a/daemon/mgmt/forwarder-status-manager.cpp b/daemon/mgmt/forwarder-status-manager.cpp
index 9f1e3a2..bf2372b 100644
--- a/daemon/mgmt/forwarder-status-manager.cpp
+++ b/daemon/mgmt/forwarder-status-manager.cpp
@@ -59,7 +59,11 @@
   m_forwarder.getCounters().copyTo(status);
 
   context.setExpiry(STATUS_SERVER_DEFAULT_FRESHNESS);
-  context.append(status.wireEncode());
+
+  status.wireEncode().parse();
+  for (const auto& subblock : status.wireEncode().elements()) {
+    context.append(subblock);
+  }
   context.end();
 }
 
diff --git a/tests/daemon/mgmt/forwarder-status-manager.t.cpp b/tests/daemon/mgmt/forwarder-status-manager.t.cpp
index ba01396..104adaa 100644
--- a/tests/daemon/mgmt/forwarder-status-manager.t.cpp
+++ b/tests/daemon/mgmt/forwarder-status-manager.t.cpp
@@ -77,7 +77,7 @@
   time::system_clock::TimePoint t4 = time::system_clock::now();
   BOOST_REQUIRE_EQUAL(face->sentDatas.size(), 1);
   ndn::nfd::ForwarderStatus status;
-  BOOST_REQUIRE_NO_THROW(status.wireDecode(face->sentDatas[0].getContent().blockFromValue()));
+  BOOST_REQUIRE_NO_THROW(status.wireDecode(face->sentDatas[0].getContent()));
 
   BOOST_CHECK_EQUAL(status.getNfdVersion(), NFD_VERSION_BUILD_STRING);
   BOOST_CHECK_GE(time::toUnixTimestamp(status.getStartTimestamp()), time::toUnixTimestamp(t1));