Moved sprintf() calls to Print.cpp

This commit is contained in:
Benoît Blanchon
2014-07-03 13:21:40 +02:00
parent dd5cf661e3
commit 2222714d68
3 changed files with 27 additions and 12 deletions

View File

@ -4,8 +4,6 @@
*/
#include "JsonValue.h"
#include <cstdio>
#include <cstring>
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
{
char tmp[32];
sprintf(tmp, "%.17lg", content.asDouble);
return p.write(tmp);
return p.print(content.asDouble);
}
size_t JsonValue::printFloatTo(Print& p) const
{
char tmp[16];
sprintf(tmp, "%.9g", content.asFloat);
return p.write(tmp);
return p.print(content.asFloat);
}
size_t JsonValue::printLongTo(Print& p) const
{
char tmp[32];
sprintf(tmp, "%ld", content.asLong);
return p.write(tmp);
return p.print(content.asLong);
}
size_t JsonValue::printPrintableTo(Print& p) const

View File

@ -9,6 +9,7 @@
typedef unsigned char uint8_t;
// This class reproduces Arduino's Print
class Print
{
public:
@ -16,6 +17,8 @@ public:
virtual size_t write(uint8_t c) = 0;
size_t write(const char* s);
size_t print(double, int = 2);
size_t print(long);
};
#else