25 fpos(
const std::string& name,
int l = 1,
int c = 1) : filename(name), line(l), col(c) {}
28 return filename +
":" + ConvToStr(line) +
":" + ConvToStr(col);
41 std::vector<std::string> reading;
42 std::map<std::string, std::string> vars;
43 ConfigDataHash& output;
44 ConfigFileCache& FilesOutput;
45 std::stringstream& errstr;
52 vars[
"newline"] = vars[
"nl"] =
"\n";
54 bool ParseFile(
const std::string& name,
int flags,
const std::string& mandatory_tag =
"");
55 bool ParseExec(
const std::string& name,
int flags,
const std::string& mandatory_tag =
"");
56 void DoInclude(
ConfigTag* includeTag,
int flags);
57 void DoReadFile(
const std::string& key,
const std::string& file,
int flags,
bool exec);
64 bool close_with_pclose;
65 FileWrapper(FILE* file,
bool use_pclose =
false) : f(file), close_with_pclose(use_pclose) {}
66 operator bool() {
return (f != NULL); }
67 operator FILE*() {
return f; }
72 if (close_with_pclose)