X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fconfigparser.h;h=8292fdda5c6207182cd4129bdf6b27bcc41d4f2a;hb=3624c137a6db85eaab0372550c9dca79d6d21e55;hp=4b83d26d7e01dfceb37a879649f17259710aaa6a;hpb=074a96c9ffc85763da833bccadefc9978152482c;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/configparser.h b/include/configparser.h index 4b83d26d7..8292fdda5 100644 --- a/include/configparser.h +++ b/include/configparser.h @@ -17,6 +17,8 @@ */ +#pragma once + struct fpos { std::string filename; @@ -31,7 +33,7 @@ struct fpos enum ParseFlags { - FLAG_USE_XML = 1, + FLAG_USE_COMPAT = 1, FLAG_NO_EXEC = 2, FLAG_NO_INC = 4 }; @@ -51,8 +53,8 @@ struct ParseStack vars["quot"] = "\""; vars["newline"] = vars["nl"] = "\n"; } - bool ParseFile(const std::string& name, int flags); - bool ParseExec(const std::string& name, int flags); + bool ParseFile(const std::string& name, int flags, const std::string& mandatory_tag = ""); + bool ParseExec(const std::string& name, int flags, const std::string& mandatory_tag = ""); void DoInclude(ConfigTag* includeTag, int flags); void DoReadFile(const std::string& key, const std::string& file, int flags, bool exec); }; @@ -63,7 +65,7 @@ struct FileWrapper FILE* const f; bool close_with_pclose; FileWrapper(FILE* file, bool use_pclose = false) : f(file), close_with_pclose(use_pclose) {} - operator bool() { return f; } + operator bool() { return (f != NULL); } operator FILE*() { return f; } ~FileWrapper() { @@ -76,5 +78,3 @@ struct FileWrapper } } }; - -