mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Reduced usages of EscapedString
This commit is contained in:
		| @@ -6,7 +6,6 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include "Print.h" | ||||
| #include <string.h> // for strcmp | ||||
|  | ||||
| namespace ArduinoJson | ||||
| { | ||||
| @@ -16,18 +15,13 @@ namespace ArduinoJson | ||||
|         { | ||||
|         public: | ||||
|  | ||||
|             void set(const char* s) | ||||
|             { | ||||
|                 rawString = s; | ||||
|             EscapedString(const char* s) | ||||
|                 : rawString(s) | ||||
|             {                 | ||||
|             } | ||||
|  | ||||
|             size_t printTo(Print&) const; | ||||
|              | ||||
|             bool equals(char const* s) | ||||
|             { | ||||
|                 return strcmp(s, rawString) == 0; | ||||
|             } | ||||
|  | ||||
|         private: | ||||
|             const char* rawString; | ||||
|         }; | ||||
|   | ||||
| @@ -4,6 +4,7 @@ | ||||
| */ | ||||
|  | ||||
| #include "JsonObjectBase.h" | ||||
| #include <string.h> // for strcmp | ||||
|  | ||||
| using namespace ArduinoJson::Generator; | ||||
| using namespace ArduinoJson::Internals; | ||||
| @@ -19,7 +20,7 @@ size_t JsonObjectBase::printTo(Print& p) const | ||||
|     const KeyValuePair* current = items; | ||||
|     for (int i = count; i > 0; i--) | ||||
|     {        | ||||
|         n += current->key.printTo(p); | ||||
|         n += EscapedString(current->key).printTo(p); | ||||
|         n += p.write(':'); | ||||
|         n += current->value.printTo(p); | ||||
|  | ||||
| @@ -40,7 +41,7 @@ JsonValue& JsonObjectBase::operator[](char const* key) | ||||
| { | ||||
|     for (int i = 0; i < count; ++i) | ||||
|     { | ||||
|         if (items[i].key.equals(key)) | ||||
|         if (!strcmp(items[i].key, key)) | ||||
|         { | ||||
|             return items[i].value; | ||||
|         } | ||||
| @@ -49,6 +50,6 @@ JsonValue& JsonObjectBase::operator[](char const* key) | ||||
|     if (count >= capacity)         | ||||
|         return JsonValue::null(); | ||||
|      | ||||
|     items[count].key.set(key); | ||||
|     items[count].key = key; | ||||
|     return items[count++].value; | ||||
| } | ||||
| @@ -38,8 +38,8 @@ namespace ArduinoJson | ||||
|  | ||||
|             struct KeyValuePair | ||||
|             { | ||||
|                 Internals::EscapedString  key; | ||||
|                 JsonValue      value; | ||||
|                 const char* key; | ||||
|                 JsonValue   value; | ||||
|             }; | ||||
|  | ||||
|             JsonObjectBase(KeyValuePair* items, int capacity) | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
| #include "JsonValue.h" | ||||
|  | ||||
| using namespace ArduinoJson::Generator; | ||||
| using namespace ArduinoJson::Internals; | ||||
|  | ||||
| JsonValue JsonValue::nullInstance; | ||||
|  | ||||
| @@ -30,5 +31,5 @@ size_t JsonValue::printPrintableTo(const Content& c, Print& p) | ||||
|  | ||||
| size_t JsonValue::printStringTo(const Content& c, Print& p) | ||||
| { | ||||
|     return c.asString.printTo(p); | ||||
|     return EscapedString(c.asString).printTo(p); | ||||
| } | ||||
| @@ -44,7 +44,7 @@ namespace ArduinoJson | ||||
|             void operator=(const char* value) | ||||
|             { | ||||
|                 printToImpl = &printStringTo; | ||||
|                 content.asString.set(value); | ||||
|                 content.asString = value; | ||||
|             } | ||||
|  | ||||
|             void operator=(double value) | ||||
| @@ -108,11 +108,11 @@ namespace ArduinoJson | ||||
|         private: | ||||
|             union Content | ||||
|             { | ||||
|                 bool asBool; | ||||
|                 long asLong; | ||||
|                 Printable* asPrintable; | ||||
|                 Internals::EscapedString asString; | ||||
|                 double asDouble; | ||||
|                 bool        asBool; | ||||
|                 double      asDouble; | ||||
|                 long        asLong; | ||||
|                 Printable*  asPrintable; | ||||
|                 const char* asString; | ||||
|             }; | ||||
|  | ||||
|             Content content; | ||||
|   | ||||
| @@ -16,8 +16,7 @@ namespace JsonGeneratorTests | ||||
|     { | ||||
|         char buffer[1024]; | ||||
|         size_t returnValue; | ||||
|         EscapedString escapedString; | ||||
|  | ||||
|          | ||||
|     public: | ||||
|  | ||||
|         TEST_METHOD(Null) | ||||
| @@ -83,8 +82,8 @@ namespace JsonGeneratorTests | ||||
|     private: | ||||
|         void whenInputIs(const char* input) | ||||
|         { | ||||
|             StringBuilder sb(buffer, sizeof(buffer));             | ||||
|             escapedString.set(input); | ||||
|             StringBuilder sb(buffer, sizeof(buffer));   | ||||
|             EscapedString escapedString = input; | ||||
|             returnValue = escapedString.printTo(sb); | ||||
|         } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user