mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-17 22:23:10 +03:00
Improved portability of String class (maniacbug)
This commit is contained in:
@ -13,6 +13,7 @@ ARDUINO 1.5.6 BETA
|
|||||||
* sam: Fixed regression in analogRead() (fails to read multiple channels) (Mark Tillotson)
|
* sam: Fixed regression in analogRead() (fails to read multiple channels) (Mark Tillotson)
|
||||||
* sam: Optimized delayMicroseconds() (Rob Tillaart) #1121
|
* sam: Optimized delayMicroseconds() (Rob Tillaart) #1121
|
||||||
* Optimized Print::print(String&) method, now uses internal string buffer to perform block write
|
* Optimized Print::print(String&) method, now uses internal string buffer to perform block write
|
||||||
|
* Improved portability of String class (maniacbug) #695
|
||||||
|
|
||||||
ARDUINO 1.5.5 BETA 2013.11.28
|
ARDUINO 1.5.5 BETA 2013.11.28
|
||||||
|
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
#include "WString.h"
|
#include "WString.h"
|
||||||
|
|
||||||
|
|
||||||
/*********************************************/
|
/*********************************************/
|
||||||
/* Constructors */
|
/* Constructors */
|
||||||
/*********************************************/
|
/*********************************************/
|
||||||
@ -69,7 +68,7 @@ String::String(char c)
|
|||||||
String::String(unsigned char value, unsigned char base)
|
String::String(unsigned char value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[9];
|
char buf[1 + 8 * sizeof(unsigned char)];
|
||||||
utoa(value, buf, base);
|
utoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -77,7 +76,7 @@ String::String(unsigned char value, unsigned char base)
|
|||||||
String::String(int value, unsigned char base)
|
String::String(int value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[18];
|
char buf[2 + 8 * sizeof(int)];
|
||||||
itoa(value, buf, base);
|
itoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -85,7 +84,7 @@ String::String(int value, unsigned char base)
|
|||||||
String::String(unsigned int value, unsigned char base)
|
String::String(unsigned int value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[17];
|
char buf[1 + 8 * sizeof(unsigned int)];
|
||||||
utoa(value, buf, base);
|
utoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -93,7 +92,7 @@ String::String(unsigned int value, unsigned char base)
|
|||||||
String::String(long value, unsigned char base)
|
String::String(long value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[34];
|
char buf[2 + 8 * sizeof(long)];
|
||||||
ltoa(value, buf, base);
|
ltoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -101,7 +100,7 @@ String::String(long value, unsigned char base)
|
|||||||
String::String(unsigned long value, unsigned char base)
|
String::String(unsigned long value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[33];
|
char buf[1 + 8 * sizeof(unsigned long)];
|
||||||
ultoa(value, buf, base);
|
ultoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -288,35 +287,35 @@ unsigned char String::concat(char c)
|
|||||||
|
|
||||||
unsigned char String::concat(unsigned char num)
|
unsigned char String::concat(unsigned char num)
|
||||||
{
|
{
|
||||||
char buf[4];
|
char buf[1 + 3 * sizeof(unsigned char)];
|
||||||
itoa(num, buf, 10);
|
itoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(int num)
|
unsigned char String::concat(int num)
|
||||||
{
|
{
|
||||||
char buf[12];
|
char buf[2 + 3 * sizeof(int)];
|
||||||
itoa(num, buf, 10);
|
itoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(unsigned int num)
|
unsigned char String::concat(unsigned int num)
|
||||||
{
|
{
|
||||||
char buf[11];
|
char buf[1 + 3 * sizeof(unsigned int)];
|
||||||
utoa(num, buf, 10);
|
utoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(long num)
|
unsigned char String::concat(long num)
|
||||||
{
|
{
|
||||||
char buf[12];
|
char buf[2 + 3 * sizeof(long)];
|
||||||
ltoa(num, buf, 10);
|
ltoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(unsigned long num)
|
unsigned char String::concat(unsigned long num)
|
||||||
{
|
{
|
||||||
char buf[11];
|
char buf[1 + 3 * sizeof(unsigned long)];
|
||||||
ultoa(num, buf, 10);
|
ultoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ String::String(char c)
|
|||||||
String::String(unsigned char value, unsigned char base)
|
String::String(unsigned char value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[9];
|
char buf[1 + 8 * sizeof(unsigned char)];
|
||||||
utoa(value, buf, base);
|
utoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -78,7 +78,7 @@ String::String(unsigned char value, unsigned char base)
|
|||||||
String::String(int value, unsigned char base)
|
String::String(int value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[18];
|
char buf[2 + 8 * sizeof(int)];
|
||||||
itoa(value, buf, base);
|
itoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ String::String(int value, unsigned char base)
|
|||||||
String::String(unsigned int value, unsigned char base)
|
String::String(unsigned int value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[17];
|
char buf[1 + 8 * sizeof(unsigned int)];
|
||||||
utoa(value, buf, base);
|
utoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -94,7 +94,7 @@ String::String(unsigned int value, unsigned char base)
|
|||||||
String::String(long value, unsigned char base)
|
String::String(long value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[34];
|
char buf[2 + 8 * sizeof(long)];
|
||||||
ltoa(value, buf, base);
|
ltoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -102,7 +102,7 @@ String::String(long value, unsigned char base)
|
|||||||
String::String(unsigned long value, unsigned char base)
|
String::String(unsigned long value, unsigned char base)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
char buf[33];
|
char buf[1 + 8 * sizeof(unsigned long)];
|
||||||
ultoa(value, buf, base);
|
ultoa(value, buf, base);
|
||||||
*this = buf;
|
*this = buf;
|
||||||
}
|
}
|
||||||
@ -289,35 +289,35 @@ unsigned char String::concat(char c)
|
|||||||
|
|
||||||
unsigned char String::concat(unsigned char num)
|
unsigned char String::concat(unsigned char num)
|
||||||
{
|
{
|
||||||
char buf[4];
|
char buf[1 + 3 * sizeof(unsigned char)];
|
||||||
itoa(num, buf, 10);
|
itoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(int num)
|
unsigned char String::concat(int num)
|
||||||
{
|
{
|
||||||
char buf[12];
|
char buf[2 + 3 * sizeof(int)];
|
||||||
itoa(num, buf, 10);
|
itoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(unsigned int num)
|
unsigned char String::concat(unsigned int num)
|
||||||
{
|
{
|
||||||
char buf[11];
|
char buf[1 + 3 * sizeof(unsigned int)];
|
||||||
utoa(num, buf, 10);
|
utoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(long num)
|
unsigned char String::concat(long num)
|
||||||
{
|
{
|
||||||
char buf[12];
|
char buf[2 + 3 * sizeof(long)];
|
||||||
ltoa(num, buf, 10);
|
ltoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char String::concat(unsigned long num)
|
unsigned char String::concat(unsigned long num)
|
||||||
{
|
{
|
||||||
char buf[11];
|
char buf[1 + 3 * sizeof(unsigned long)];
|
||||||
ultoa(num, buf, 10);
|
ultoa(num, buf, 10);
|
||||||
return concat(buf, strlen(buf));
|
return concat(buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user