summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--controller/EmbeddedNetworkController.cpp6
-rw-r--r--controller/JSONDB.hpp2
2 files changed, 5 insertions, 3 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp
index d60bde98..85717e28 100644
--- a/controller/EmbeddedNetworkController.cpp
+++ b/controller/EmbeddedNetworkController.cpp
@@ -1508,20 +1508,22 @@ unsigned int EmbeddedNetworkController::handleControlPlaneHttpDELETE(
Mutex::Lock _l(_db_m);
json member = _db.get("network",nwids,"member",Address(address).toString(),0);
- if (!member.size())
- return 404;
_db.erase("network",nwids,"member",Address(address).toString());
+ if (!member.size())
+ return 404;
responseBody = member.dump(2);
responseContentType = "application/json";
return 200;
}
} else {
Mutex::Lock _l(_db_m);
+
std::string pfx("network/"); pfx.append(nwids);
_db.filter(pfx,120000,[](const std::string &n,const json &obj) {
return false; // delete
});
+
responseBody = network.dump(2);
responseContentType = "application/json";
return 200;
diff --git a/controller/JSONDB.hpp b/controller/JSONDB.hpp
index a9a5e6ac..bd1ae5a5 100644
--- a/controller/JSONDB.hpp
+++ b/controller/JSONDB.hpp
@@ -79,7 +79,7 @@ public:
{
for(std::map<std::string,_E>::iterator i(_db.lower_bound(prefix));i!=_db.end();) {
if ((i->first.length() >= prefix.length())&&(!memcmp(i->first.data(),prefix.data(),prefix.length()))) {
- if (!func(i->first,get(i->second.obj,maxSinceCheck))) {
+ if (!func(i->first,get(i->first,maxSinceCheck))) {
std::map<std::string,_E>::iterator i2(i); ++i2;
this->erase(i->first);
i = i2;