1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

rework StreamString::write to use String internal buffer direct.

#1289
This commit is contained in:
Markus Sattler 2015-12-23 13:40:16 +01:00
parent dd93ea26ee
commit 50ad8ccdf5

View File

@ -23,12 +23,14 @@
#include <Arduino.h>
#include "StreamString.h"
size_t StreamString::write(const uint8_t *buffer, size_t size) {
if(reserve(length() + size + 1)) {
const uint8_t *s = buffer;
const uint8_t *end = buffer + size;
while(write(*s++) && s < end);
return s - buffer;
size_t StreamString::write(const uint8_t *data, size_t size) {
if(size && data) {
if(reserve(length() + size + 1)) {
memcpy((void *) (buffer + len), (const void *) data, size);
len += size;
*(buffer + len) = 0x00; // add null for string end
return size;
}
}
return 0;
}