X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fconfigparser.cpp;h=409ebdd395e67fe38de058edd0e823e73d28d3f2;hb=032077534232a4fa97736595bdfcfe3c8b9beb58;hp=7d9eab651a88f81719e9f4b216cc8db090652301;hpb=fd6a8e93920553e2e6655b0f396be61a6e6b832c;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/configparser.cpp b/src/configparser.cpp index 7d9eab651..409ebdd39 100644 --- a/src/configparser.cpp +++ b/src/configparser.cpp @@ -388,8 +388,18 @@ bool ParseStack::ParseExec(const std::string& name, int flags, const std::string return ok; } +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wunknown-pragmas" +# pragma clang diagnostic ignored "-Wundefined-bool-conversion" +#elif defined __GNUC__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpragmas" +# pragma GCC diagnostic ignored "-Wnonnull-compare" +#endif bool ConfigTag::readString(const std::string& key, std::string& value, bool allow_lf) { + // TODO: this is undefined behaviour but changing the API is too risky for 2.0. if (!this) return false; for(std::vector::iterator j = items.begin(); j != items.end(); ++j) @@ -409,6 +419,11 @@ bool ConfigTag::readString(const std::string& key, std::string& value, bool allo } return false; } +#ifdef __clang__ +# pragma clang diagnostic pop +#elif defined __GNUC__ +# pragma GCC diagnostic pop +#endif std::string ConfigTag::getString(const std::string& key, const std::string& def) { @@ -472,10 +487,10 @@ std::string ConfigTag::getTagLocation() return src_name + ":" + ConvToStr(src_line); } -ConfigTag* ConfigTag::create(const std::string& Tag, const std::string& file, int line, std::vector*&items) +ConfigTag* ConfigTag::create(const std::string& Tag, const std::string& file, int line, std::vector*& Items) { ConfigTag* rv = new ConfigTag(Tag, file, line); - items = &rv->items; + Items = &rv->items; return rv; }