@@ -147,18 +147,18 @@ void String::invalidate(void) {
147
147
init ();
148
148
}
149
149
150
- unsigned char String::reserve (unsigned int size) {
150
+ bool String::reserve (unsigned int size) {
151
151
if (buffer () && capacity () >= size)
152
- return 1 ;
152
+ return true ;
153
153
if (changeBuffer (size)) {
154
154
if (len () == 0 )
155
155
wbuffer ()[0 ] = 0 ;
156
- return 1 ;
156
+ return true ;
157
157
}
158
- return 0 ;
158
+ return false ;
159
159
}
160
160
161
- unsigned char String::changeBuffer (unsigned int maxStrLen) {
161
+ bool String::changeBuffer (unsigned int maxStrLen) {
162
162
// Can we use SSO here to avoid allocation?
163
163
if (maxStrLen < sizeof (sso.buff ) - 1 ) {
164
164
if (isSSO () || !buffer ()) {
@@ -175,7 +175,7 @@ unsigned char String::changeBuffer(unsigned int maxStrLen) {
175
175
memcpy (wbuffer (), temp, maxStrLen);
176
176
free ((void *)temp);
177
177
}
178
- return 1 ;
178
+ return true ;
179
179
}
180
180
// Fallthrough to normal allocator
181
181
size_t newSize = (maxStrLen + 16 ) & (~0xf );
@@ -189,7 +189,7 @@ unsigned char String::changeBuffer(unsigned int maxStrLen) {
189
189
#endif
190
190
// Make sure we can fit newsize in the buffer
191
191
if (newSize > CAPACITY_MAX) {
192
- return 0 ;
192
+ return false ;
193
193
}
194
194
uint16_t oldLen = len ();
195
195
char *newbuffer = (char *)realloc (isSSO () ? nullptr : wbuffer (), newSize);
@@ -206,9 +206,9 @@ unsigned char String::changeBuffer(unsigned int maxStrLen) {
206
206
setCapacity (newSize - 1 );
207
207
setLen (oldLen); // Needed in case of SSO where len() never existed
208
208
setBuffer (newbuffer);
209
- return 1 ;
209
+ return true ;
210
210
}
211
- return 0 ;
211
+ return false ;
212
212
}
213
213
214
214
/* ********************************************/
@@ -277,111 +277,111 @@ String &String::operator =(const __FlashStringHelper *pstr) {
277
277
/* concat */
278
278
/* ********************************************/
279
279
280
- unsigned char String::concat (const String &s) {
280
+ bool String::concat (const String &s) {
281
281
// Special case if we're concatting ourself (s += s;) since we may end up
282
282
// realloc'ing the buffer and moving s.buffer in the method called
283
283
if (&s == this ) {
284
284
unsigned int newlen = 2 * len ();
285
285
if (!s.buffer ())
286
- return 0 ;
286
+ return false ;
287
287
if (s.len () == 0 )
288
- return 1 ;
288
+ return true ;
289
289
if (!reserve (newlen))
290
- return 0 ;
290
+ return false ;
291
291
memmove_P (wbuffer () + len (), buffer (), len ());
292
292
setLen (newlen);
293
293
wbuffer ()[newlen] = 0 ;
294
- return 1 ;
294
+ return true ;
295
295
} else {
296
296
return concat (s.buffer (), s.len ());
297
297
}
298
298
}
299
299
300
- unsigned char String::concat (const char *cstr, unsigned int length) {
300
+ bool String::concat (const char *cstr, unsigned int length) {
301
301
unsigned int newlen = len () + length;
302
302
if (!cstr)
303
- return 0 ;
303
+ return false ;
304
304
if (length == 0 )
305
- return 1 ;
305
+ return true ;
306
306
if (!reserve (newlen))
307
- return 0 ;
307
+ return false ;
308
308
memmove_P (wbuffer () + len (), cstr, length + 1 );
309
309
setLen (newlen);
310
310
wbuffer ()[newlen] = 0 ;
311
- return 1 ;
311
+ return true ;
312
312
}
313
313
314
- unsigned char String::concat (const char *cstr) {
314
+ bool String::concat (const char *cstr) {
315
315
if (!cstr)
316
- return 0 ;
316
+ return false ;
317
317
return concat (cstr, strlen (cstr));
318
318
}
319
319
320
- unsigned char String::concat (char c) {
320
+ bool String::concat (char c) {
321
321
return concat (&c, 1 );
322
322
}
323
323
324
- unsigned char String::concat (unsigned char num) {
324
+ bool String::concat (unsigned char num) {
325
325
char buf[1 + 3 * sizeof (unsigned char )];
326
326
return concat (buf, sprintf (buf, " %d" , num));
327
327
}
328
328
329
- unsigned char String::concat (int num) {
329
+ bool String::concat (int num) {
330
330
char buf[2 + 3 * sizeof (int )];
331
331
return concat (buf, sprintf (buf, " %d" , num));
332
332
}
333
333
334
- unsigned char String::concat (unsigned int num) {
334
+ bool String::concat (unsigned int num) {
335
335
char buf[1 + 3 * sizeof (unsigned int )];
336
336
utoa (num, buf, 10 );
337
337
return concat (buf, strlen (buf));
338
338
}
339
339
340
- unsigned char String::concat (long num) {
340
+ bool String::concat (long num) {
341
341
char buf[2 + 3 * sizeof (long )];
342
342
return concat (buf, sprintf (buf, " %ld" , num));
343
343
}
344
344
345
- unsigned char String::concat (unsigned long num) {
345
+ bool String::concat (unsigned long num) {
346
346
char buf[1 + 3 * sizeof (unsigned long )];
347
347
ultoa (num, buf, 10 );
348
348
return concat (buf, strlen (buf));
349
349
}
350
350
351
- unsigned char String::concat (long long num) {
351
+ bool String::concat (long long num) {
352
352
char buf[2 + 3 * sizeof (long long )];
353
353
return concat (buf, sprintf (buf, " %lld" , num));
354
354
}
355
355
356
- unsigned char String::concat (unsigned long long num) {
356
+ bool String::concat (unsigned long long num) {
357
357
char buf[1 + 3 * sizeof (unsigned long long )];
358
358
return concat (buf, sprintf (buf, " %llu" , num));
359
359
}
360
360
361
- unsigned char String::concat (float num) {
361
+ bool String::concat (float num) {
362
362
char buf[20 ];
363
363
char *string = dtostrf (num, 4 , 2 , buf);
364
364
return concat (string, strlen (string));
365
365
}
366
366
367
- unsigned char String::concat (double num) {
367
+ bool String::concat (double num) {
368
368
char buf[20 ];
369
369
char *string = dtostrf (num, 4 , 2 , buf);
370
370
return concat (string, strlen (string));
371
371
}
372
372
373
- unsigned char String::concat (const __FlashStringHelper *str) {
373
+ bool String::concat (const __FlashStringHelper *str) {
374
374
if (!str)
375
- return 0 ;
375
+ return false ;
376
376
int length = strlen_P ((PGM_P)str);
377
377
if (length == 0 )
378
- return 1 ;
378
+ return true ;
379
379
unsigned int newlen = len () + length;
380
380
if (!reserve (newlen))
381
- return 0 ;
381
+ return false ;
382
382
memcpy_P (wbuffer () + len (), (PGM_P)str, length + 1 );
383
383
setLen (newlen);
384
- return 1 ;
384
+ return true ;
385
385
}
386
386
387
387
/* ********************************************/
@@ -488,48 +488,48 @@ int String::compareTo(const String &s) const {
488
488
return strcmp (buffer (), s.buffer ());
489
489
}
490
490
491
- unsigned char String::equals (const String &s2) const {
491
+ bool String::equals (const String &s2) const {
492
492
return (len () == s2.len () && compareTo (s2) == 0 );
493
493
}
494
494
495
- unsigned char String::equals (const char *cstr) const {
495
+ bool String::equals (const char *cstr) const {
496
496
if (len () == 0 )
497
497
return (cstr == NULL || *cstr == 0 );
498
498
if (cstr == NULL )
499
499
return buffer ()[0 ] == 0 ;
500
500
return strcmp (buffer (), cstr) == 0 ;
501
501
}
502
502
503
- unsigned char String::operator <(const String &rhs) const {
503
+ bool String::operator <(const String &rhs) const {
504
504
return compareTo (rhs) < 0 ;
505
505
}
506
506
507
- unsigned char String::operator >(const String &rhs) const {
507
+ bool String::operator >(const String &rhs) const {
508
508
return compareTo (rhs) > 0 ;
509
509
}
510
510
511
- unsigned char String::operator <=(const String &rhs) const {
511
+ bool String::operator <=(const String &rhs) const {
512
512
return compareTo (rhs) <= 0 ;
513
513
}
514
514
515
- unsigned char String::operator >=(const String &rhs) const {
515
+ bool String::operator >=(const String &rhs) const {
516
516
return compareTo (rhs) >= 0 ;
517
517
}
518
518
519
- unsigned char String::equalsIgnoreCase (const String &s2) const {
519
+ bool String::equalsIgnoreCase (const String &s2) const {
520
520
if (this == &s2)
521
- return 1 ;
521
+ return true ;
522
522
if (len () != s2.len ())
523
- return 0 ;
523
+ return false ;
524
524
if (len () == 0 )
525
- return 1 ;
525
+ return true ;
526
526
const char *p1 = buffer ();
527
527
const char *p2 = s2.buffer ();
528
528
while (*p1) {
529
529
if (tolower (*p1++) != tolower (*p2++))
530
- return 0 ;
530
+ return false ;
531
531
}
532
- return 1 ;
532
+ return true ;
533
533
}
534
534
535
535
unsigned char String::equalsConstantTime (const String &s2) const {
@@ -559,21 +559,21 @@ unsigned char String::equalsConstantTime(const String &s2) const {
559
559
return (equalcond & diffcond); // bitwise AND
560
560
}
561
561
562
- unsigned char String::startsWith (const String &s2) const {
562
+ bool String::startsWith (const String &s2) const {
563
563
if (len () < s2.len ())
564
- return 0 ;
564
+ return false ;
565
565
return startsWith (s2, 0 );
566
566
}
567
567
568
- unsigned char String::startsWith (const String &s2, unsigned int offset) const {
568
+ bool String::startsWith (const String &s2, unsigned int offset) const {
569
569
if (offset > (unsigned )(len () - s2.len ()) || !buffer () || !s2.buffer ())
570
- return 0 ;
570
+ return false ;
571
571
return strncmp (&buffer ()[offset], s2.buffer (), s2.len ()) == 0 ;
572
572
}
573
573
574
- unsigned char String::endsWith (const String &s2) const {
574
+ bool String::endsWith (const String &s2) const {
575
575
if (len () < s2.len () || !buffer () || !s2.buffer ())
576
- return 0 ;
576
+ return false ;
577
577
return strcmp (&buffer ()[len () - s2.len ()], s2.buffer ()) == 0 ;
578
578
}
579
579
@@ -597,7 +597,7 @@ char &String::operator[](unsigned int index) {
597
597
598
598
char String::operator [](unsigned int index) const {
599
599
if (index >= len () || !buffer ())
600
- return 0 ;
600
+ return ' \0 ' ;
601
601
return buffer ()[index ];
602
602
}
603
603
0 commit comments