summaryrefslogtreecommitdiff
path: root/controller/FileDB.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'controller/FileDB.cpp')
-rw-r--r--controller/FileDB.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/controller/FileDB.cpp b/controller/FileDB.cpp
index 728cec6b..3f8564fa 100644
--- a/controller/FileDB.cpp
+++ b/controller/FileDB.cpp
@@ -27,6 +27,9 @@ FileDB::FileDB(EmbeddedNetworkController *const nc,const Address &myAddress,cons
{
OSUtils::mkdir(_path.c_str());
OSUtils::lockDownFile(_path.c_str(),true);
+ OSUtils::mkdir((_path + ZT_PATH_SEPARATOR + "network").c_str());
+ OSUtils::mkdir((_path + ZT_PATH_SEPARATOR + "network" + ZT_PATH_SEPARATOR_S + "member").c_str());
+ OSUtils::mkdir((_path + ZT_PATH_SEPARATOR + "trace").c_str());
std::vector<std::string> networks(OSUtils::listDirectory(_networksPath.c_str(),false));
std::string buf;
@@ -106,8 +109,10 @@ void FileDB::save(nlohmann::json *orig,nlohmann::json &record)
}
} else if (objtype == "trace") {
const std::string id = rec["id"];
- OSUtils::ztsnprintf(p1,sizeof(p1),"%s" ZT_PATH_SEPARATOR_S "trace" ZT_PATH_SEPARATOR_S "%s.json",_path.c_str(),id.c_str());
- OSUtils::writeFile(p1,OSUtils::jsonDump(rec,-1));
+ if (id.length() > 0) {
+ OSUtils::ztsnprintf(p1,sizeof(p1),"%s" ZT_PATH_SEPARATOR_S "trace" ZT_PATH_SEPARATOR_S "%s.json",_path.c_str(),id.c_str());
+ OSUtils::writeFile(p1,OSUtils::jsonDump(rec,-1));
+ }
}
} catch ( ... ) {} // drop invalid records missing fields
}