| 618 | } |
| 619 | |
| 620 | BString BString::toUpperCase() const { |
| 621 | if (isEmpty()) { |
| 622 | return *this; |
| 623 | } |
| 624 | |
| 625 | BStringData* d = allocNewData(); |
| 626 | d->level = getLevel(); |
| 627 | d->str = getNewString(d->level); |
| 628 | d->len = length(); |
| 629 | d->incRefCount(); |
| 630 | |
| 631 | std::locale loc; |
| 632 | for (int i = 0; i < d->len; i++) { |
| 633 | d->str[i] = std::toupper(data->str[i], loc); |
| 634 | } |
| 635 | d->str[d->len] = 0; |
| 636 | return BString(d); |
| 637 | } |
| 638 | |
| 639 | void BString::resize(U32 len) { |
| 640 | makeWritable(len); |
no test coverage detected