diff options
author | Peter Powell <petpow@saberuk.com> | 2016-02-26 20:44:10 +0000 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2016-02-26 20:52:50 +0000 |
commit | b972020b391485d92bd46ce662421fa036ca4ca6 (patch) | |
tree | c4c7569d3ca188ddd0b5ab469766749dfef62adf /src | |
parent | de4b1863536348520c6498e11d910acd050092a7 (diff) |
Fix GCC 6 warning about null checking this.
As with 402a1bb010522a35600325c1a3084e092b40ca22 this is known to
be undefined behaviour but changing it is too risky for the 2.0
branch.
Diffstat (limited to 'src')
-rw-r--r-- | src/configparser.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/configparser.cpp b/src/configparser.cpp index 94192a71b..409ebdd39 100644 --- a/src/configparser.cpp +++ b/src/configparser.cpp @@ -388,19 +388,20 @@ bool ParseStack::ParseExec(const std::string& name, int flags, const std::string return ok; } -bool ConfigTag::readString(const std::string& key, std::string& value, bool allow_lf) -{ #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; -#ifdef __clang__ -# pragma clang diagnostic pop -#endif for(std::vector<KeyVal>::iterator j = items.begin(); j != items.end(); ++j) { if(j->first != key) @@ -418,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) { |