diff --git a/__read.cpp b/__read.cpp index 3ff5122..d0c3137 100644 --- a/__read.cpp +++ b/__read.cpp @@ -13,10 +13,10 @@ namespace jet { throw coreutils::Exception("name keyword must be specified."); if(hasContainer) throw coreutils::Exception("read tag does not have a container."); - fd = open(keywords[resolveKeyword("file")].c_str(), O_RDONLY); + fd = open(resolveKeyword("file").c_str(), O_RDONLY); if(fd < 0) throw coreutils::Exception("file name is not found."); - global.variables[keywords[resolveKeyword("name")]].read(fd); + global.variables[resolveKeyword("name")].read(fd); close(fd); } diff --git a/__whiledir.cpp b/__whiledir.cpp index b45b156..aa0d70a 100644 --- a/__whiledir.cpp +++ b/__whiledir.cpp @@ -11,29 +11,29 @@ namespace jet { __whiledir::__whiledir(coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) : Tag(in, parentOut, global, parent, this) { if(!keywordDefined("path")) throw coreutils::Exception("whiledir tag must specify a path."); - if(keywordDefined("sort") && (keywords[resolveKeyword("sort")] == "true")) { + if(keywordDefined("sort") && (resolveKeyword("sort") == "true")) { std::vector entries; - for(auto const &entry : std::filesystem::directory_iterator(variables[resolveKeyword("path")].str())) + for(auto const &entry : std::filesystem::directory_iterator(resolveKeyword("path").str())) entries.push_back(entry); std::sort(entries.begin(), entries.end(), [](const auto &a, const auto &b) { return a.path() < b.path(); }); for(const auto &entry : entries) { if(keywordDefined("fullpath")) - global.variables[keywords[resolveKeyword("fullpath")]] = entry.path(); + global.variables[resolveKeyword("fullpath")] = entry.path(); if(keywordDefined("filename")) - global.variables[keywords[resolveKeyword("filename")]] = entry.path().filename(); + global.variables[resolveKeyword("filename")] = entry.path().filename(); if(keywordDefined("filenamenoextension")) - global.variables[keywords[resolveKeyword("filenamenoextension")]] = entry.path().stem(); + global.variables[resolveKeyword("filenamenoextension")] = entry.path().stem(); processContainer(container); container.reset(); } } else { for(auto const &entry : std::filesystem::directory_iterator(variables[resolveKeyword("path")].str())) { if(keywordDefined("fullpath")) - global.variables[keywords[resolveKeyword("fullpath")]] = entry.path(); + global.variables[resolveKeyword("fullpath")] = entry.path(); if(keywordDefined("filename")) - global.variables[keywords[resolveKeyword("filename")]] = entry.path().filename(); + global.variables[resolveKeyword("filename")] = entry.path().filename(); if(keywordDefined("filenamenoextension")) - global.variables[keywords[resolveKeyword("filenamenoextension")]] = entry.path().stem(); + global.variables[resolveKeyword("filenamenoextension")] = entry.path().stem(); processContainer(container); container.reset(); }