@@ -59,9 +59,7 @@ String::String(StringSumHelper &&rval) {
59
59
60
String::String (char c) {
60
String::String (char c) {
61
init ();
61
init ();
62
- char buf[2 ];
62
+ char buf[] = { c, ' \0 ' };
63
- buf[0 ] = c;
64
- buf[1 ] = 0 ;
65
*this = buf;
63
*this = buf;
66
}
64
}
67
65
@@ -290,10 +288,11 @@ String & String::operator =(const char *cstr) {
290
return *this ;
288
return *this ;
291
}
289
}
292
290
293
- String & String::operator = (const __FlashStringHelper *pstr)
291
+ String & String::operator =(const __FlashStringHelper *pstr) {
294
- {
292
+ if (pstr)
295
- if (pstr) copy (pstr, strlen_P ((PGM_P)pstr));
293
+ copy (pstr, strlen_P ((PGM_P)pstr));
296
- else invalidate ();
294
+ else
295
+ invalidate ();
297
296
298
return *this ;
297
return *this ;
299
}
298
}
@@ -347,22 +346,18 @@ unsigned char String::concat(const char *cstr) {
347
}
346
}
348
347
349
unsigned char String::concat (char c) {
348
unsigned char String::concat (char c) {
350
- char buf[2 ];
349
+ char buf[] = { c, ' \0 ' };
351
- buf[0 ] = c;
352
- buf[1 ] = 0 ;
353
return concat (buf, 1 );
350
return concat (buf, 1 );
354
}
351
}
355
352
356
unsigned char String::concat (unsigned char num) {
353
unsigned char String::concat (unsigned char num) {
357
char buf[1 + 3 * sizeof (unsigned char )];
354
char buf[1 + 3 * sizeof (unsigned char )];
358
- sprintf (buf, " %d" , num);
355
+ return concat (buf, sprintf (buf, " %d" , num));
359
- return concat (buf, strlen (buf));
360
}
356
}
361
357
362
unsigned char String::concat (int num) {
358
unsigned char String::concat (int num) {
363
char buf[2 + 3 * sizeof (int )];
359
char buf[2 + 3 * sizeof (int )];
364
- sprintf (buf, " %d" , num);
360
+ return concat (buf, sprintf (buf, " %d" , num));
365
- return concat (buf, strlen (buf));
366
}
361
}
367
362
368
unsigned char String::concat (unsigned int num) {
363
unsigned char String::concat (unsigned int num) {
@@ -373,8 +368,7 @@ unsigned char String::concat(unsigned int num) {
373
368
374
unsigned char String::concat (long num) {
369
unsigned char String::concat (long num) {
375
char buf[2 + 3 * sizeof (long )];
370
char buf[2 + 3 * sizeof (long )];
376
- sprintf (buf, " %ld" , num);
371
+ return concat (buf, sprintf (buf, " %ld" , num));
377
- return concat (buf, strlen (buf));
378
}
372
}
379
373
380
unsigned char String::concat (unsigned long num) {
374
unsigned char String::concat (unsigned long num) {
0 commit comments