forked from bblanchon/ArduinoJson
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)
|
||||||
{
|
{
|
||||||
@ -14,3 +18,19 @@ size_t Print::write(const char* 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