From 655655fa6e48a7d241f3c2b86d0f59bc0f76c94f Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Tue, 12 Nov 2019 08:52:29 +0100 Subject: [PATCH 1/3] WString explicit converters to reduce Flash size --- cores/esp8266/WString.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/cores/esp8266/WString.h b/cores/esp8266/WString.h index 8c970abf14..411f095646 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) { + this->startsWith(String(prefix)); + } + unsigned char startsWith(const __FlashStringHelper * prefix) { + 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) { + this->endsWith(String(suffix)); + } + unsigned char endsWith(const __FlashStringHelper * suffix) { + 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); From 2aa3e962cf879b9db1df55b2d22db6c8c3d1195f Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Tue, 12 Nov 2019 09:09:30 +0100 Subject: [PATCH 2/3] Fix add return value for start/endsWith --- cores/esp8266/WString.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cores/esp8266/WString.h b/cores/esp8266/WString.h index 411f095646..af6db604db 100644 --- a/cores/esp8266/WString.h +++ b/cores/esp8266/WString.h @@ -203,18 +203,18 @@ class String { unsigned char equalsConstantTime(const String &s) const; unsigned char startsWith(const String &prefix) const; unsigned char startsWith(const char * prefix) { - this->startsWith(String(prefix)); + return this->startsWith(String(prefix)); } unsigned char startsWith(const __FlashStringHelper * prefix) { - this->startsWith(String(prefix)); + 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) { - this->endsWith(String(suffix)); + return this->endsWith(String(suffix)); } unsigned char endsWith(const __FlashStringHelper * suffix) { - this->endsWith(String(suffix)); + return this->endsWith(String(suffix)); } // character access From 4ba003faaab4c5eddcfd4bb30bb8c4302a2eccd8 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Tue, 12 Nov 2019 10:59:08 +0100 Subject: [PATCH 3/3] Adding const to startsWith() and endsWith() --- cores/esp8266/WString.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cores/esp8266/WString.h b/cores/esp8266/WString.h index af6db604db..3f026f2f75 100644 --- a/cores/esp8266/WString.h +++ b/cores/esp8266/WString.h @@ -202,18 +202,18 @@ 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) { + unsigned char startsWith(const char * prefix) const { return this->startsWith(String(prefix)); } - unsigned char startsWith(const __FlashStringHelper * 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) { + unsigned char endsWith(const char * suffix) const { return this->endsWith(String(suffix)); } - unsigned char endsWith(const __FlashStringHelper * suffix) { + unsigned char endsWith(const __FlashStringHelper * suffix) const { return this->endsWith(String(suffix)); }