mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Extracted function getSpecialChar()
This commit is contained in:
		| @@ -7,6 +7,36 @@ | |||||||
|  |  | ||||||
| using namespace ArduinoJson::Internals; | using namespace ArduinoJson::Internals; | ||||||
|  |  | ||||||
|  | static inline char getSpecialChar(char c) | ||||||
|  | { | ||||||
|  |     switch (c) | ||||||
|  |     { | ||||||
|  |     case '"': | ||||||
|  |         return '"'; | ||||||
|  |  | ||||||
|  |     case '\\': | ||||||
|  |         return '\\'; | ||||||
|  |  | ||||||
|  |     case '\b': | ||||||
|  |         return 'b'; | ||||||
|  |  | ||||||
|  |     case '\f': | ||||||
|  |         return 'f'; | ||||||
|  |  | ||||||
|  |     case '\n': | ||||||
|  |         return 'n'; | ||||||
|  |  | ||||||
|  |     case '\r': | ||||||
|  |         return 'r'; | ||||||
|  |  | ||||||
|  |     case '\t': | ||||||
|  |         return 't'; | ||||||
|  |  | ||||||
|  |     default: | ||||||
|  |         return 0; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
| size_t EscapedString::printTo(Print& p) const | size_t EscapedString::printTo(Print& p) const | ||||||
| { | { | ||||||
|     const char* s = rawString; |     const char* s = rawString; | ||||||
| @@ -22,42 +52,19 @@ size_t EscapedString::printTo(Print& p) const | |||||||
|  |  | ||||||
|     while (*s) |     while (*s) | ||||||
|     { |     { | ||||||
|         switch (*s) |         char specialChar = getSpecialChar(*s); | ||||||
|  |  | ||||||
|  |         if (specialChar) | ||||||
|  |         { | ||||||
|  |             n += p.write('\\'); | ||||||
|  |             n += p.write(specialChar); | ||||||
|  |         } | ||||||
|  |         else | ||||||
|         { |         { | ||||||
|         case '"': |  | ||||||
|             n += p.print("\\\""); |  | ||||||
|             break; |  | ||||||
|  |  | ||||||
|         case '\\': |  | ||||||
|             n += p.print("\\\\"); |  | ||||||
|             break; |  | ||||||
|  |  | ||||||
|         case '\b': |  | ||||||
|             n += p.print("\\b"); |  | ||||||
|             break; |  | ||||||
|  |  | ||||||
|         case '\f': |  | ||||||
|             n += p.print("\\f"); |  | ||||||
|             break; |  | ||||||
|  |  | ||||||
|         case '\n': |  | ||||||
|             n += p.print("\\n"); |  | ||||||
|             break; |  | ||||||
|  |  | ||||||
|         case '\r': |  | ||||||
|             n += p.print("\\r"); |  | ||||||
|             break; |  | ||||||
|  |  | ||||||
|         case '\t': |  | ||||||
|             n += p.print("\\t"); |  | ||||||
|             break; |  | ||||||
|  |  | ||||||
|         default: |  | ||||||
|             n += p.write(*s); |             n += p.write(*s); | ||||||
|             break; |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         s++; |         s++;         | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     n += p.write('\"'); |     n += p.write('\"'); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user