From c86eed942dd3d7d0bced4fb26fb28ee57fccff07 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 3 Sep 2013 18:40:30 +0200 Subject: [PATCH] Fixed String class regression after f80c6c5f35cddcf4761a3c97feb8504425e9d27d This should make explicit String-from-integer constructor working again: int a = 10; String(a, 4); --- hardware/arduino/avr/cores/arduino/WString.cpp | 4 ++-- hardware/arduino/avr/cores/arduino/WString.h | 6 +++--- hardware/arduino/sam/cores/arduino/WString.cpp | 4 ++-- hardware/arduino/sam/cores/arduino/WString.h | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/hardware/arduino/avr/cores/arduino/WString.cpp b/hardware/arduino/avr/cores/arduino/WString.cpp index e462beeb2..63af6d340 100644 --- a/hardware/arduino/avr/cores/arduino/WString.cpp +++ b/hardware/arduino/avr/cores/arduino/WString.cpp @@ -106,14 +106,14 @@ String::String(unsigned long value, unsigned char base) *this = buf; } -String::String(float value, int decimalPlaces) +String::String(float value, unsigned char decimalPlaces) { init(); char buf[33]; *this = dtostrf(value, (decimalPlaces + 2), decimalPlaces, buf); } -String::String(double value, int decimalPlaces) +String::String(double value, unsigned char decimalPlaces) { init(); char buf[33]; diff --git a/hardware/arduino/avr/cores/arduino/WString.h b/hardware/arduino/avr/cores/arduino/WString.h index f801f6384..740243092 100644 --- a/hardware/arduino/avr/cores/arduino/WString.h +++ b/hardware/arduino/avr/cores/arduino/WString.h @@ -69,8 +69,8 @@ public: explicit String(unsigned int, unsigned char base=10); explicit String(long, unsigned char base=10); explicit String(unsigned long, unsigned char base=10); - explicit String(float, int decimalPlaces=2); - explicit String(double, int decimalPlaces=2); + explicit String(float, unsigned char decimalPlaces=2); + explicit String(double, unsigned char decimalPlaces=2); ~String(void); // memory management @@ -113,7 +113,7 @@ public: String & operator += (const String &rhs) {concat(rhs); return (*this);} String & operator += (const char *cstr) {concat(cstr); return (*this);} String & operator += (char c) {concat(c); return (*this);} - String & operator += (unsigned char num) {concat(num); return (*this);} + String & operator += (unsigned char num) {concat(num); return (*this);} String & operator += (int num) {concat(num); return (*this);} String & operator += (unsigned int num) {concat(num); return (*this);} String & operator += (long num) {concat(num); return (*this);} diff --git a/hardware/arduino/sam/cores/arduino/WString.cpp b/hardware/arduino/sam/cores/arduino/WString.cpp index a6b82fd61..d0783a2ec 100644 --- a/hardware/arduino/sam/cores/arduino/WString.cpp +++ b/hardware/arduino/sam/cores/arduino/WString.cpp @@ -107,14 +107,14 @@ String::String(unsigned long value, unsigned char base) *this = buf; } -String::String(float value, int decimalPlaces) +String::String(float value, unsigned char decimalPlaces) { init(); char buf[33]; *this = dtostrf(value, (decimalPlaces + 2), decimalPlaces, buf); } -String::String(double value, int decimalPlaces) +String::String(double value, unsigned char decimalPlaces) { init(); char buf[33]; diff --git a/hardware/arduino/sam/cores/arduino/WString.h b/hardware/arduino/sam/cores/arduino/WString.h index f0077dfbe..740243092 100644 --- a/hardware/arduino/sam/cores/arduino/WString.h +++ b/hardware/arduino/sam/cores/arduino/WString.h @@ -69,8 +69,8 @@ public: explicit String(unsigned int, unsigned char base=10); explicit String(long, unsigned char base=10); explicit String(unsigned long, unsigned char base=10); - explicit String(float, int decimalPlaces=2); - explicit String(double, int decimalPlaces=2); + explicit String(float, unsigned char decimalPlaces=2); + explicit String(double, unsigned char decimalPlaces=2); ~String(void); // memory management