Added method appendFormatted()

This commit is contained in:
Benoît Blanchon
2014-06-25 13:50:28 +02:00
parent dd6fd6f198
commit 45dfdbd5e4
3 changed files with 17 additions and 7 deletions

View File

@ -12,7 +12,7 @@ void JsonObjectBase::writeObjectTo(ObjectContainer& obj, StringBuilder& sb)
break;
case JSON_NUMBER:
sb.append("%lg", obj.value.number);
sb.appendFormatted("%lg", obj.value.number);
break;
case JSON_BOOLEAN:

View File

@ -1,14 +1,11 @@
#include "StringBuilder.h"
void StringBuilder::append(const char* format, ...)
void StringBuilder::append(const char* s)
{
char* tail = buffer + length;
va_list args;
va_start(args, format);
vsnprintf(tail, capacity - length, format, args);
va_end(args);
strcpy(tail, s);
length += strlen(tail);
}
@ -31,3 +28,15 @@ void StringBuilder::appendEscaped(const char* s)
buffer[length++] = '"';
}
void StringBuilder::appendFormatted(const char* format, ...)
{
char* tail = buffer + length;
va_list args;
va_start(args, format);
vsnprintf(tail, capacity - length, format, args);
va_end(args);
length += strlen(tail);
}

View File

@ -17,8 +17,9 @@ public:
{
}
void append(const char* format, ...);
void append(const char* s);
void appendEscaped(const char* s);
void appendFormatted(const char* format, ...);
private:
char* buffer;