From 41d99ad48a833723e65183431ae85993f6cd7d2e Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Tue, 12 Nov 2019 18:47:26 +0100 Subject: [PATCH] WString explicit converters to reduce Flash size (#6759) * WString explicit converters to reduce Flash size * Fix add return value for start/endsWith * Adding const to startsWith() and endsWith() --- cores/esp8266/WString.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/cores/esp8266/WString.h b/cores/esp8266/WString.h index 8c970abf1..3f026f2f7 100644 --- a/cores/esp8266/WString.h +++ b/cores/esp8266/WString.h @@ -202,8 +202,20 @@ class String { unsigned char equalsIgnoreCase(const String &s) const; unsigned char equalsConstantTime(const String &s) const; unsigned char startsWith(const String &prefix) const; + unsigned char startsWith(const char * prefix) const { + return this->startsWith(String(prefix)); + } + unsigned char startsWith(const __FlashStringHelper * prefix) const { + return this->startsWith(String(prefix)); + } unsigned char startsWith(const String &prefix, unsigned int offset) const; unsigned char endsWith(const String &suffix) const; + unsigned char endsWith(const char * suffix) const { + return this->endsWith(String(suffix)); + } + unsigned char endsWith(const __FlashStringHelper * suffix) const { + return this->endsWith(String(suffix)); + } // character access char charAt(unsigned int index) const; @@ -238,6 +250,21 @@ class String { // modification void replace(char find, char replace); void replace(const String& find, const String& replace); + void replace(const char * find, const String& replace) { + this->replace(String(find), replace); + } + void replace(const __FlashStringHelper * find, const String& replace) { + this->replace(String(find), replace); + } + void replace(const char * find, const char * replace) { + this->replace(String(find), String(replace)); + } + void replace(const __FlashStringHelper * find, const char * replace) { + this->replace(String(find), String(replace)); + } + void replace(const __FlashStringHelper * find, const __FlashStringHelper * replace) { + this->replace(String(find), String(replace)); + } void remove(unsigned int index); void remove(unsigned int index, unsigned int count); void toLowerCase(void);