@@ -169,7 +169,7 @@ int String::operator==( const String &rhs ) const
169
169
170
170
int String::operator !=( const String &rhs ) const
171
171
{
172
- return ( _length != rhs.length () || strcmp ( _buffer, rhs.toCharArray () ) != 0 );
172
+ return ( _length != rhs.length () || strcmp ( _buffer, rhs._buffer ) != 0 );
173
173
}
174
174
175
175
int String::operator <( const String &rhs ) const
@@ -213,7 +213,7 @@ boolean String::endsWith( const String &s2 ) const
213
213
if ( _length < s2._length )
214
214
return 0 ;
215
215
216
- return strcmp ( &_buffer[ _length - s2._length ], s2.toCharArray () ) == 0 ;
216
+ return strcmp ( &_buffer[ _length - s2._length ], s2._buffer ) == 0 ;
217
217
}
218
218
219
219
boolean String::equals ( const String &s2 ) const
@@ -228,7 +228,7 @@ boolean String::equalsIgnoreCase( const String &s2 ) const
228
228
else if ( _length != s2._length )
229
229
return false ; // 0;
230
230
231
- return strcmp (toLowerCase ().toCharArray () , s2.toLowerCase ().toCharArray () ) == 0 ;
231
+ return strcmp (toLowerCase ()._buffer , s2.toLowerCase ()._buffer ) == 0 ;
232
232
}
233
233
234
234
String String::replace ( char findChar, char replaceChar )
@@ -285,7 +285,7 @@ int String::indexOf( const String &s2, unsigned int fromIndex ) const
285
285
if ( fromIndex >= _length )
286
286
return -1 ;
287
287
288
- const char *theFind = strstr ( &_buffer[ fromIndex ], s2.toCharArray () );
288
+ const char *theFind = strstr ( &_buffer[ fromIndex ], s2._buffer );
289
289
290
290
if ( theFind == NULL )
291
291
return -1 ;
@@ -349,7 +349,7 @@ boolean String::startsWith( const String &s2, unsigned int offset ) const
349
349
if ( offset > _length - s2._length )
350
350
return 0 ;
351
351
352
- return strncmp ( &_buffer[offset], s2.toCharArray () , s2._length ) == 0 ;
352
+ return strncmp ( &_buffer[offset], s2._buffer , s2._length ) == 0 ;
353
353
}
354
354
355
355
String String::substring ( unsigned int left ) const
@@ -417,3 +417,20 @@ String String::trim() const
417
417
return temp.substring ( i, j + 1 );
418
418
}
419
419
420
+ void String::getBytes (unsigned char *buf, unsigned int bufsize)
421
+ {
422
+ if (!bufsize || !buf) return ;
423
+ unsigned int len = bufsize - 1 ;
424
+ if (len > _length) len = _length;
425
+ strncpy ((char *)buf, _buffer, len);
426
+ buf[len] = 0 ;
427
+ }
428
+
429
+ void String::toCharArray (char *buf, unsigned int bufsize)
430
+ {
431
+ if (!bufsize || !buf) return ;
432
+ unsigned int len = bufsize - 1 ;
433
+ if (len > _length) len = _length;
434
+ strncpy (buf, _buffer, len);
435
+ buf[len] = 0 ;
436
+ }
0 commit comments