Skip to content

Commit a010db7

Browse files
committed
Bool as return value for logical operations
1 parent e2d2f20 commit a010db7

File tree

2 files changed

+83
-83
lines changed

2 files changed

+83
-83
lines changed

Diff for: api/String.cpp

+41-41
Original file line numberDiff line numberDiff line change
@@ -166,25 +166,25 @@ void String::invalidate(void)
166166
capacity = len = 0;
167167
}
168168

169-
unsigned char String::reserve(unsigned int size)
169+
bool String::reserve(unsigned int size)
170170
{
171171
if (buffer && capacity >= size) return 1;
172172
if (changeBuffer(size)) {
173173
if (len == 0) buffer[0] = 0;
174-
return 1;
174+
return true;
175175
}
176-
return 0;
176+
return false;
177177
}
178178

179-
unsigned char String::changeBuffer(unsigned int maxStrLen)
179+
bool String::changeBuffer(unsigned int maxStrLen)
180180
{
181181
char *newbuffer = (char *)realloc(buffer, maxStrLen + 1);
182182
if (newbuffer) {
183183
buffer = newbuffer;
184184
capacity = maxStrLen;
185-
return 1;
185+
return true;
186186
}
187-
return 0;
187+
return false;
188188
}
189189

190190
/*********************************************/
@@ -281,93 +281,93 @@ String & String::operator = (const __FlashStringHelper *pstr)
281281
/* concat */
282282
/*********************************************/
283283

284-
unsigned char String::concat(const String &s)
284+
bool String::concat(const String &s)
285285
{
286286
return concat(s.buffer, s.len);
287287
}
288288

289-
unsigned char String::concat(const char *cstr, unsigned int length)
289+
bool String::concat(const char *cstr, unsigned int length)
290290
{
291291
unsigned int newlen = len + length;
292-
if (!cstr) return 0;
293-
if (length == 0) return 1;
294-
if (!reserve(newlen)) return 0;
292+
if (!cstr) return false;
293+
if (length == 0) return true;
294+
if (!reserve(newlen)) return false;
295295
memcpy(buffer + len, cstr, length);
296296
len = newlen;
297297
buffer[len] = '\0';
298-
return 1;
298+
return true;
299299
}
300300

301-
unsigned char String::concat(const char *cstr)
301+
bool String::concat(const char *cstr)
302302
{
303-
if (!cstr) return 0;
303+
if (!cstr) return false;
304304
return concat(cstr, strlen(cstr));
305305
}
306306

307-
unsigned char String::concat(char c)
307+
bool String::concat(char c)
308308
{
309309
return concat(&c, 1);
310310
}
311311

312-
unsigned char String::concat(unsigned char num)
312+
bool String::concat(unsigned char num)
313313
{
314314
char buf[1 + 3 * sizeof(unsigned char)];
315315
itoa(num, buf, 10);
316316
return concat(buf);
317317
}
318318

319-
unsigned char String::concat(int num)
319+
bool String::concat(int num)
320320
{
321321
char buf[2 + 3 * sizeof(int)];
322322
itoa(num, buf, 10);
323323
return concat(buf);
324324
}
325325

326-
unsigned char String::concat(unsigned int num)
326+
bool String::concat(unsigned int num)
327327
{
328328
char buf[1 + 3 * sizeof(unsigned int)];
329329
utoa(num, buf, 10);
330330
return concat(buf);
331331
}
332332

333-
unsigned char String::concat(long num)
333+
bool String::concat(long num)
334334
{
335335
char buf[2 + 3 * sizeof(long)];
336336
ltoa(num, buf, 10);
337337
return concat(buf);
338338
}
339339

340-
unsigned char String::concat(unsigned long num)
340+
bool String::concat(unsigned long num)
341341
{
342342
char buf[1 + 3 * sizeof(unsigned long)];
343343
ultoa(num, buf, 10);
344344
return concat(buf);
345345
}
346346

347-
unsigned char String::concat(float num)
347+
bool String::concat(float num)
348348
{
349349
char buf[20];
350350
char* string = dtostrf(num, 4, 2, buf);
351351
return concat(string);
352352
}
353353

354-
unsigned char String::concat(double num)
354+
bool String::concat(double num)
355355
{
356356
char buf[20];
357357
char* string = dtostrf(num, 4, 2, buf);
358358
return concat(string);
359359
}
360360

361-
unsigned char String::concat(const __FlashStringHelper * str)
361+
bool String::concat(const __FlashStringHelper * str)
362362
{
363-
if (!str) return 0;
363+
if (!str) return false;
364364
int length = strlen_P((const char *) str);
365-
if (length == 0) return 1;
365+
if (length == 0) return true;
366366
unsigned int newlen = len + length;
367-
if (!reserve(newlen)) return 0;
367+
if (!reserve(newlen)) return false;
368368
strcpy_P(buffer + len, (const char *) str);
369369
len = newlen;
370-
return 1;
370+
return true;
371371
}
372372

373373
/*********************************************/
@@ -475,46 +475,46 @@ int String::compareTo(const char *cstr) const
475475
return strcmp(buffer, cstr);
476476
}
477477

478-
unsigned char String::equals(const String &s2) const
478+
bool String::equals(const String &s2) const
479479
{
480480
return (len == s2.len && compareTo(s2) == 0);
481481
}
482482

483-
unsigned char String::equals(const char *cstr) const
483+
bool String::equals(const char *cstr) const
484484
{
485485
if (len == 0) return (cstr == NULL || *cstr == 0);
486486
if (cstr == NULL) return buffer[0] == 0;
487487
return strcmp(buffer, cstr) == 0;
488488
}
489489

490-
unsigned char String::equalsIgnoreCase( const String &s2 ) const
490+
bool String::equalsIgnoreCase( const String &s2 ) const
491491
{
492-
if (this == &s2) return 1;
493-
if (len != s2.len) return 0;
494-
if (len == 0) return 1;
492+
if (this == &s2) return true;
493+
if (len != s2.len) return false;
494+
if (len == 0) return true;
495495
const char *p1 = buffer;
496496
const char *p2 = s2.buffer;
497497
while (*p1) {
498-
if (tolower(*p1++) != tolower(*p2++)) return 0;
498+
if (tolower(*p1++) != tolower(*p2++)) return false;
499499
}
500-
return 1;
500+
return true;
501501
}
502502

503-
unsigned char String::startsWith( const String &s2 ) const
503+
bool String::startsWith( const String &s2 ) const
504504
{
505-
if (len < s2.len) return 0;
505+
if (len < s2.len) return false;
506506
return startsWith(s2, 0);
507507
}
508508

509-
unsigned char String::startsWith( const String &s2, unsigned int offset ) const
509+
bool String::startsWith( const String &s2, unsigned int offset ) const
510510
{
511-
if (offset > len - s2.len || !buffer || !s2.buffer) return 0;
511+
if (offset > len - s2.len || !buffer || !s2.buffer) return false;
512512
return strncmp( &buffer[offset], s2.buffer, s2.len ) == 0;
513513
}
514514

515-
unsigned char String::endsWith( const String &s2 ) const
515+
bool String::endsWith( const String &s2 ) const
516516
{
517-
if ( len < s2.len || !buffer || !s2.buffer) return 0;
517+
if ( len < s2.len || !buffer || !s2.buffer) return false;
518518
return strcmp(&buffer[len - s2.len], s2.buffer) == 0;
519519
}
520520

Diff for: api/String.h

+42-42
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class String
9090
// return true on success, false on failure (in which case, the string
9191
// is left unchanged). reserve(0), if successful, will validate an
9292
// invalid string (i.e., "if (s)" will be true afterwards)
93-
unsigned char reserve(unsigned int size);
93+
bool reserve(unsigned int size);
9494
inline unsigned int length(void) const {return len;}
9595

9696
// creates a copy of the assigned value. if the value is null or
@@ -109,19 +109,19 @@ class String
109109
// returns true on success, false on failure (in which case, the string
110110
// is left unchanged). if the argument is null or invalid, the
111111
// concatenation is considered unsucessful.
112-
unsigned char concat(const String &str);
113-
unsigned char concat(const char *cstr);
114-
unsigned char concat(const char *cstr, unsigned int length);
115-
unsigned char concat(const uint8_t *cstr, unsigned int length) {return concat((const char*)cstr, length);}
116-
unsigned char concat(char c);
117-
unsigned char concat(unsigned char num);
118-
unsigned char concat(int num);
119-
unsigned char concat(unsigned int num);
120-
unsigned char concat(long num);
121-
unsigned char concat(unsigned long num);
122-
unsigned char concat(float num);
123-
unsigned char concat(double num);
124-
unsigned char concat(const __FlashStringHelper * str);
112+
bool concat(const String &str);
113+
bool concat(const char *cstr);
114+
bool concat(const char *cstr, unsigned int length);
115+
bool concat(const uint8_t *cstr, unsigned int length) {return concat((const char*)cstr, length);}
116+
bool concat(char c);
117+
bool concat(unsigned char num);
118+
bool concat(int num);
119+
bool concat(unsigned int num);
120+
bool concat(long num);
121+
bool concat(unsigned long num);
122+
bool concat(float num);
123+
bool concat(double num);
124+
bool concat(const __FlashStringHelper * str);
125125

126126
// if there's not enough memory for the concatenated value, the string
127127
// will be left unchanged (but this isn't signalled in any way)
@@ -153,33 +153,33 @@ class String
153153
operator StringIfHelperType() const { return buffer ? &String::StringIfHelper : 0; }
154154
int compareTo(const String &s) const;
155155
int compareTo(const char *cstr) const;
156-
unsigned char equals(const String &s) const;
157-
unsigned char equals(const char *cstr) const;
158-
159-
friend unsigned char operator == (const String &a, const String &b) { return a.equals(b); }
160-
friend unsigned char operator == (const String &a, const char *b) { return a.equals(b); }
161-
friend unsigned char operator == (const char *a, const String &b) { return b == a; }
162-
friend unsigned char operator < (const String &a, const String &b) { return a.compareTo(b) < 0; }
163-
friend unsigned char operator < (const String &a, const char *b) { return a.compareTo(b) < 0; }
164-
friend unsigned char operator < (const char *a, const String &b) { return b.compareTo(a) > 0; }
165-
166-
friend unsigned char operator != (const String &a, const String &b) { return !(a == b); }
167-
friend unsigned char operator != (const String &a, const char *b) { return !(a == b); }
168-
friend unsigned char operator != (const char *a, const String &b) { return !(a == b); }
169-
friend unsigned char operator > (const String &a, const String &b) { return b < a; }
170-
friend unsigned char operator > (const String &a, const char *b) { return b < a; }
171-
friend unsigned char operator > (const char *a, const String &b) { return b < a; }
172-
friend unsigned char operator <= (const String &a, const String &b) { return !(b < a); }
173-
friend unsigned char operator <= (const String &a, const char *b) { return !(b < a); }
174-
friend unsigned char operator <= (const char *a, const String &b) { return !(b < a); }
175-
friend unsigned char operator >= (const String &a, const String &b) { return !(a < b); }
176-
friend unsigned char operator >= (const String &a, const char *b) { return !(a < b); }
177-
friend unsigned char operator >= (const char *a, const String &b) { return !(a < b); }
178-
179-
unsigned char equalsIgnoreCase(const String &s) const;
180-
unsigned char startsWith( const String &prefix) const;
181-
unsigned char startsWith(const String &prefix, unsigned int offset) const;
182-
unsigned char endsWith(const String &suffix) const;
156+
bool equals(const String &s) const;
157+
bool equals(const char *cstr) const;
158+
159+
friend bool operator == (const String &a, const String &b) { return a.equals(b); }
160+
friend bool operator == (const String &a, const char *b) { return a.equals(b); }
161+
friend bool operator == (const char *a, const String &b) { return b == a; }
162+
friend bool operator < (const String &a, const String &b) { return a.compareTo(b) < 0; }
163+
friend bool operator < (const String &a, const char *b) { return a.compareTo(b) < 0; }
164+
friend bool operator < (const char *a, const String &b) { return b.compareTo(a) > 0; }
165+
166+
friend bool operator != (const String &a, const String &b) { return !(a == b); }
167+
friend bool operator != (const String &a, const char *b) { return !(a == b); }
168+
friend bool operator != (const char *a, const String &b) { return !(a == b); }
169+
friend bool operator > (const String &a, const String &b) { return b < a; }
170+
friend bool operator > (const String &a, const char *b) { return b < a; }
171+
friend bool operator > (const char *a, const String &b) { return b < a; }
172+
friend bool operator <= (const String &a, const String &b) { return !(b < a); }
173+
friend bool operator <= (const String &a, const char *b) { return !(b < a); }
174+
friend bool operator <= (const char *a, const String &b) { return !(b < a); }
175+
friend bool operator >= (const String &a, const String &b) { return !(a < b); }
176+
friend bool operator >= (const String &a, const char *b) { return !(a < b); }
177+
friend bool operator >= (const char *a, const String &b) { return !(a < b); }
178+
179+
bool equalsIgnoreCase(const String &s) const;
180+
bool startsWith( const String &prefix) const;
181+
bool startsWith(const String &prefix, unsigned int offset) const;
182+
bool endsWith(const String &suffix) const;
183183

184184
// character acccess
185185
char charAt(unsigned int index) const;
@@ -228,7 +228,7 @@ class String
228228
protected:
229229
void init(void);
230230
void invalidate(void);
231-
unsigned char changeBuffer(unsigned int maxStrLen);
231+
bool changeBuffer(unsigned int maxStrLen);
232232

233233
// copy and move
234234
String & copy(const char *cstr, unsigned int length);

0 commit comments

Comments
 (0)