#include "__read.h" #include "Exception.h" #include #include #include namespace jet { __read::__read(coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) : Tag(in, parentOut, global, parent, this) { if(!variableDefined("file")) throw coreutils::Exception("file keyword must be specified."); if(!variableDefined("name")) throw coreutils::Exception("name keyword must be specified."); if(hasContainer) throw coreutils::Exception("read tag does not have a container."); resolveKeyword("file"); resolveKeyword("name"); fd = open(variables["file"].c_str(), O_RDONLY); if(fd < 0) throw coreutils::Exception("file name is not found."); global.variables[variables["name"]].read(fd); close(fd); } }