1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-25 20:02:37 +03:00

wstring: fix concatenation from flash (#6368)

fixes #6367
This commit is contained in:
david gauchard 2019-08-05 17:16:49 +02:00 committed by Earle F. Philhower, III
parent f78ab66f89
commit 4e9358445a

View File

@ -330,7 +330,12 @@ unsigned char String::concat(const char *cstr, unsigned int length) {
return 1;
if(!reserve(newlen))
return 0;
memmove(wbuffer() + len(), cstr, length + 1);
if (cstr >= wbuffer() && cstr < wbuffer() + len())
// compatible with SSO in ram #6155 (case "x += x.c_str()")
memmove(wbuffer() + len(), cstr, length + 1);
else
// compatible with source in flash #6367
memcpy_P(wbuffer() + len(), cstr, length + 1);
setLen(newlen);
return 1;
}