diff --git a/src/laminar.cpp b/src/laminar.cpp index a4f6ae1..b5e4165 100644 --- a/src/laminar.cpp +++ b/src/laminar.cpp @@ -142,7 +142,7 @@ std::list Laminar::listKnownJobs() { std::list res; KJ_IF_MAYBE(dir, fsHome->tryOpenSubdir(kj::Path{"cfg","jobs"})) { for(kj::Directory::Entry& entry : (*dir)->listEntries()) { - if(entry.type == kj::FsNode::Type::FILE && entry.name.endsWith(".run")) { + if(entry.name.endsWith(".run")) { res.emplace_back(entry.name.cStr(), entry.name.findLast('.').orDefault(0)); } } @@ -494,7 +494,7 @@ bool Laminar::loadConfiguration() { KJ_IF_MAYBE(nodeDir, fsHome->tryOpenSubdir(kj::Path{"cfg","nodes"})) { for(kj::Directory::Entry& entry : (*nodeDir)->listEntries()) { - if(entry.type != kj::FsNode::Type::FILE || !entry.name.endsWith(".conf")) + if(!entry.name.endsWith(".conf")) continue; StringMap conf = parseConfFile((homePath/"cfg"/"nodes"/entry.name).toString(true).cStr()); @@ -505,15 +505,15 @@ bool Laminar::loadConfiguration() { node->name = nodeName; node->numExecutors = conf.get("EXECUTORS", 6); - std::string tags = conf.get("TAGS"); - if(!tags.empty()) { - std::istringstream iss(tags); - std::set tagList; + std::string tagString = conf.get("TAGS"); + std::set tagList; + if(!tagString.empty()) { + std::istringstream iss(tagString); std::string tag; while(std::getline(iss, tag, ',')) tagList.insert(tag); - node->tags = tagList; } + std::swap(node->tags, tagList); knownNodes.insert(nodeName); } @@ -539,7 +539,7 @@ bool Laminar::loadConfiguration() { KJ_IF_MAYBE(jobsDir, fsHome->tryOpenSubdir(kj::Path{"cfg","jobs"})) { for(kj::Directory::Entry& entry : (*jobsDir)->listEntries()) { - if(entry.type != kj::FsNode::Type::FILE || !entry.name.endsWith(".conf")) + if(!entry.name.endsWith(".conf")) continue; StringMap conf = parseConfFile((homePath/"cfg"/"jobs"/entry.name).toString(true).cStr()); diff --git a/src/run.cpp b/src/run.cpp index ba818a3..f9d8eb6 100644 --- a/src/run.cpp +++ b/src/run.cpp @@ -198,7 +198,7 @@ bool Run::step() { // conf file env vars for(kj::Path& file : env) { - StringMap vars = parseConfFile((rootPath/file).toString().cStr()); + StringMap vars = parseConfFile((rootPath/file).toString(true).cStr()); for(auto& it : vars) { setenv(it.first.c_str(), it.second.c_str(), true); }