mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Moved sprintf() calls to Print.cpp
This commit is contained in:
		| @@ -4,8 +4,6 @@ | |||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include "JsonValue.h" | #include "JsonValue.h" | ||||||
| #include <cstdio> |  | ||||||
| #include <cstring> |  | ||||||
|  |  | ||||||
| size_t JsonValue::printBoolTo(Print& p) const | size_t JsonValue::printBoolTo(Print& p) const | ||||||
| { | { | ||||||
| @@ -14,23 +12,17 @@ size_t JsonValue::printBoolTo(Print& p) const | |||||||
|  |  | ||||||
| size_t JsonValue::printDoubleTo(Print& p) const | size_t JsonValue::printDoubleTo(Print& p) const | ||||||
| { | { | ||||||
|     char tmp[32]; |     return p.print(content.asDouble); | ||||||
|     sprintf(tmp, "%.17lg", content.asDouble); |  | ||||||
|     return p.write(tmp); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| size_t JsonValue::printFloatTo(Print& p) const | size_t JsonValue::printFloatTo(Print& p) const | ||||||
| { | { | ||||||
|     char tmp[16]; |     return p.print(content.asFloat); | ||||||
|     sprintf(tmp, "%.9g", content.asFloat); |  | ||||||
|     return p.write(tmp); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| size_t JsonValue::printLongTo(Print& p) const | size_t JsonValue::printLongTo(Print& p) const | ||||||
| { | { | ||||||
|     char tmp[32]; |     return p.print(content.asLong); | ||||||
|     sprintf(tmp, "%ld", content.asLong); |  | ||||||
|     return p.write(tmp); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| size_t JsonValue::printPrintableTo(Print& p) const | size_t JsonValue::printPrintableTo(Print& p) const | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ | |||||||
|  |  | ||||||
| typedef unsigned char uint8_t; | typedef unsigned char uint8_t; | ||||||
|  |  | ||||||
|  | // This class reproduces Arduino's Print | ||||||
| class Print | class Print | ||||||
| { | { | ||||||
| public: | public: | ||||||
| @@ -16,6 +17,8 @@ public: | |||||||
|     virtual size_t write(uint8_t c) = 0; |     virtual size_t write(uint8_t c) = 0; | ||||||
|  |  | ||||||
|     size_t write(const char* s); |     size_t write(const char* s); | ||||||
|  |     size_t print(double, int = 2); | ||||||
|  |     size_t print(long); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| #else | #else | ||||||
|   | |||||||
| @@ -3,7 +3,11 @@ | |||||||
|  * Benoit Blanchon 2014 - MIT License |  * Benoit Blanchon 2014 - MIT License | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  | #ifndef ARDUINO | ||||||
|  |  | ||||||
| #include "Print.h" | #include "Print.h" | ||||||
|  | #include <cstdio> | ||||||
|  | //#include <cstring> | ||||||
|  |  | ||||||
| size_t Print::write(const char* s) | size_t Print::write(const char* s) | ||||||
| { | { | ||||||
| @@ -13,4 +17,20 @@ size_t Print::write(const char* s) | |||||||
|         n += write(*s++); |         n += write(*s++); | ||||||
|     } |     } | ||||||
|     return n; |     return n; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | size_t Print::print(double value, int digits) | ||||||
|  | { | ||||||
|  |     char tmp[32]; | ||||||
|  |     sprintf(tmp, "%.*lg", digits, value); | ||||||
|  |     return write(tmp); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | size_t Print::print(long value) | ||||||
|  | { | ||||||
|  |     char tmp[32]; | ||||||
|  |     sprintf(tmp, "%ld", value); | ||||||
|  |     return write(tmp); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #endif | ||||||
		Reference in New Issue
	
	Block a user