diff --git a/hardware/arduino/cores/arduino/Print.cpp b/hardware/arduino/cores/arduino/Print.cpp index e08731396..53961ec47 100755 --- a/hardware/arduino/cores/arduino/Print.cpp +++ b/hardware/arduino/cores/arduino/Print.cpp @@ -53,8 +53,11 @@ size_t Print::print(const __FlashStringHelper *ifsh) size_t Print::print(const String &s) { - write((const uint8_t*)s.c_str(), s.length()); - return s.length(); + size_t n = 0; + for (uint16_t i = 0; i < s.length(); i++) { + n += write(s[i]); + } + return n; } size_t Print::print(const char str[]) diff --git a/hardware/arduino/cores/arduino/WString.cpp b/hardware/arduino/cores/arduino/WString.cpp index d05037bfa..c6839fc0d 100644 --- a/hardware/arduino/cores/arduino/WString.cpp +++ b/hardware/arduino/cores/arduino/WString.cpp @@ -642,8 +642,4 @@ long String::toInt(void) const return 0; } -char* String::c_str() const -{ - return buffer; -} diff --git a/hardware/arduino/cores/arduino/WString.h b/hardware/arduino/cores/arduino/WString.h index ec6cead50..947325e5f 100644 --- a/hardware/arduino/cores/arduino/WString.h +++ b/hardware/arduino/cores/arduino/WString.h @@ -169,7 +169,6 @@ public: // parsing/conversion long toInt(void) const; - char* c_str() const; protected: char *buffer; // the actual char array