diff options
author | Cristian Maglie <c.maglie@bug.st> | 2014-05-24 00:13:07 +0200 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2014-05-24 00:13:07 +0200 |
commit | f3e78a4a2920665b45b964049db3ebed9b8f1dc7 (patch) | |
tree | c5c0d29a8bb3e0b4cd73fc2c91c82941be29bdce /cores/arduino/Print.cpp | |
parent | c16768565b4ea62a06d21fa6d5cb0cbb0af902fa (diff) |
Backported Print class from ide-1.5.x branch
Close #1951
Diffstat (limited to 'cores/arduino/Print.cpp')
-rwxr-xr-x | cores/arduino/Print.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/cores/arduino/Print.cpp b/cores/arduino/Print.cpp index 53961ec..5df5630 100755 --- a/cores/arduino/Print.cpp +++ b/cores/arduino/Print.cpp @@ -41,7 +41,7 @@ size_t Print::write(const uint8_t *buffer, size_t size) size_t Print::print(const __FlashStringHelper *ifsh) { - const char PROGMEM *p = (const char PROGMEM *)ifsh; + PGM_P p = reinterpret_cast<PGM_P>(ifsh); size_t n = 0; while (1) { unsigned char c = pgm_read_byte(p++); @@ -53,11 +53,7 @@ size_t Print::print(const __FlashStringHelper *ifsh) size_t Print::print(const String &s) { - size_t n = 0; - for (uint16_t i = 0; i < s.length(); i++) { - n += write(s[i]); - } - return n; + return write(s.c_str(), s.length()); } size_t Print::print(const char str[]) |