diff --git a/include/ArduinoJson/Internals/JsonObjectNode.hpp b/include/ArduinoJson/Internals/JsonObjectNode.hpp index 6ea76f7d..356403a8 100644 --- a/include/ArduinoJson/Internals/JsonObjectNode.hpp +++ b/include/ArduinoJson/Internals/JsonObjectNode.hpp @@ -18,6 +18,9 @@ class JsonObjectNode { JsonPair pair; JsonObjectNode* next; + + // warning C4512: assignment operator could not be generated + #pragma warning( suppress : 4512 ) }; } } diff --git a/include/ArduinoJson/JsonArray.hpp b/include/ArduinoJson/JsonArray.hpp index ec371abc..be60eae4 100644 --- a/include/ArduinoJson/JsonArray.hpp +++ b/include/ArduinoJson/JsonArray.hpp @@ -68,7 +68,7 @@ class JsonArray : public JsonPrintable { static JsonArray _invalid; }; -bool operator==(const JsonArray &left, const JsonArray &right) { +inline bool operator==(const JsonArray &left, const JsonArray &right) { // two JsonArray are equal if they are the same instance // (we don't compare the content) return &left == &right; diff --git a/include/ArduinoJson/JsonObject.hpp b/include/ArduinoJson/JsonObject.hpp index 52e39ca3..e2f8b3b8 100644 --- a/include/ArduinoJson/JsonObject.hpp +++ b/include/ArduinoJson/JsonObject.hpp @@ -72,7 +72,7 @@ class JsonObject : public JsonPrintable { static JsonObject _invalid; }; -bool operator==(const JsonObject &left, const JsonObject &right) { +inline bool operator==(const JsonObject &left, const JsonObject &right) { // two JsonObject are equal if they are the same instance // (we don't compare the content) return &left == &right; diff --git a/include/ArduinoJson/JsonPair.hpp b/include/ArduinoJson/JsonPair.hpp index d540ad30..33cf9816 100644 --- a/include/ArduinoJson/JsonPair.hpp +++ b/include/ArduinoJson/JsonPair.hpp @@ -16,5 +16,8 @@ struct JsonPair { const char* const key; JsonValue value; + + // warning C4512: assignment operator could not be generated + #pragma warning( suppress : 4512 ) }; -} +} \ No newline at end of file diff --git a/include/ArduinoJson/JsonValue.hpp b/include/ArduinoJson/JsonValue.hpp index 594c48ce..2a5c9a2b 100644 --- a/include/ArduinoJson/JsonValue.hpp +++ b/include/ArduinoJson/JsonValue.hpp @@ -45,6 +45,7 @@ class JsonValue { operator const char *() const; operator double() const; operator long() const; + operator int() const { return operator long(); } operator JsonArray &() const; operator JsonObject &() const; diff --git a/src/JsonArray.cpp b/src/JsonArray.cpp index 0233df70..88d1fd49 100644 --- a/src/JsonArray.cpp +++ b/src/JsonArray.cpp @@ -39,7 +39,7 @@ JsonValue &JsonArray::add() { } JsonArrayNode *JsonArray::createNode() { - if (_buffer) return NULL; + if (!_buffer) return NULL; void *ptr = _buffer->alloc(sizeof(JsonArrayNode)); return ptr ? new (ptr) JsonArrayNode() : NULL; } diff --git a/test/JsonObject_Container_Tests.cpp b/test/JsonObject_Container_Tests.cpp index 62de2d1c..39213455 100644 --- a/test/JsonObject_Container_Tests.cpp +++ b/test/JsonObject_Container_Tests.cpp @@ -18,7 +18,7 @@ class JsonObject_Container_Tests : public ::testing::Test { JsonObject_Container_Tests() : object(json.createObject()) {} protected: - StaticJsonBuffer<42> json; + StaticJsonBuffer<256> json; JsonObject& object; };