Changeset 46180 in webkit for trunk/JavaScriptCore/runtime/UString.cpp
- Timestamp:
- Jul 21, 2009, 11:13:11 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/UString.cpp
r46153 r46180 69 69 static inline size_t maxUChars() { return std::numeric_limits<size_t>::max() / sizeof(UChar); } 70 70 71 static inline PossiblyNull<UChar*>allocChars(size_t length)71 static inline UChar* allocChars(size_t length) 72 72 { 73 73 ASSERT(length); 74 74 if (length > maxUChars()) 75 75 return 0; 76 return tryFastMalloc(sizeof(UChar) * length);77 } 78 79 static inline PossiblyNull<UChar*>reallocChars(UChar* buffer, size_t length)76 return static_cast<UChar*>(tryFastMalloc(sizeof(UChar) * length)); 77 } 78 79 static inline UChar* reallocChars(UChar* buffer, size_t length) 80 80 { 81 81 ASSERT(length); 82 82 if (length > maxUChars()) 83 83 return 0; 84 return tryFastRealloc(buffer, sizeof(UChar) * length);84 return static_cast<UChar*>(tryFastRealloc(buffer, sizeof(UChar) * length)); 85 85 } 86 86 … … 481 481 size_t newCapacity = expandedSize(requiredLength, base->preCapacity); 482 482 UChar* oldBuf = base->buf; 483 if (!reallocChars(base->buf, newCapacity).getValue(base->buf)) { 483 base->buf = reallocChars(base->buf, newCapacity); 484 if (!base->buf) { 484 485 base->buf = oldBuf; 485 486 return false; … … 512 513 size_t newCapacity = expandedSize(capacity, base->preCapacity); 513 514 UChar* oldBuf = base->buf; 514 if (!reallocChars(base->buf, newCapacity).getValue(base->buf)) { 515 base->buf = reallocChars(base->buf, newCapacity); 516 if (!base->buf) { 515 517 base->buf = oldBuf; 516 518 return false; … … 539 541 int delta = newCapacity - base->capacity - base->preCapacity; 540 542 541 UChar* newBuf ;542 if (! allocChars(newCapacity).getValue(newBuf)) {543 UChar* newBuf = allocChars(newCapacity); 544 if (!newBuf) { 543 545 makeNull(); 544 546 return; … … 565 567 566 568 size_t length = strlen(c); 567 UChar* d ;568 if (! allocChars(length).getValue(d))569 UChar* d = allocChars(length); 570 if (!d) 569 571 return &UString::Rep::null(); 570 572 else { … … 655 657 // This is shared in some way that prevents us from modifying base, so we must make a whole new string. 656 658 size_t newCapacity = expandedSize(length, 0); 657 UChar* d ;658 if (! allocChars(newCapacity).getValue(d))659 UChar* d = allocChars(newCapacity); 660 if (!d) 659 661 rep = &UString::Rep::null(); 660 662 else { … … 711 713 // This is shared in some way that prevents us from modifying base, so we must make a whole new string. 712 714 size_t newCapacity = expandedSize(length, 0); 713 UChar* d ;714 if (! allocChars(newCapacity).getValue(d))715 UChar* d = allocChars(newCapacity); 716 if (!d) 715 717 rep = &UString::Rep::null(); 716 718 else { … … 799 801 // a does not qualify for append, and b does not qualify for prepend, gotta make a whole new string 800 802 size_t newCapacity = expandedSize(length, 0); 801 UChar* d ;802 if (! allocChars(newCapacity).getValue(d))803 UChar* d = allocChars(newCapacity); 804 if (!d) 803 805 return 0; 804 806 copyChars(d, a->data(), aSize); … … 1075 1077 return ""; 1076 1078 1077 UChar* buffer ;1078 if (! allocChars(totalLength).getValue(buffer))1079 UChar* buffer = allocChars(totalLength); 1080 if (!buffer) 1079 1081 return null(); 1080 1082 … … 1104 1106 return ""; 1105 1107 1106 UChar* buffer ;1107 if (! allocChars(totalLength).getValue(buffer))1108 UChar* buffer = allocChars(totalLength); 1109 if (!buffer) 1108 1110 return null(); 1109 1111 … … 1152 1154 // This is shared in some way that prevents us from modifying base, so we must make a whole new string. 1153 1155 size_t newCapacity = expandedSize(length, 0); 1154 UChar* d ;1155 if (! allocChars(newCapacity).getValue(d))1156 UChar* d = allocChars(newCapacity); 1157 if (!d) 1156 1158 makeNull(); 1157 1159 else { … … 1205 1207 // this is empty - must make a new m_rep because we don't want to pollute the shared empty one 1206 1208 size_t newCapacity = expandedSize(1, 0); 1207 UChar* d ;1208 if (! allocChars(newCapacity).getValue(d))1209 UChar* d = allocChars(newCapacity); 1210 if (!d) 1209 1211 makeNull(); 1210 1212 else { … … 1233 1235 // This is shared in some way that prevents us from modifying base, so we must make a whole new string. 1234 1236 size_t newCapacity = expandedSize(length + 1, 0); 1235 UChar* d ;1236 if (! allocChars(newCapacity).getValue(d))1237 UChar* d = allocChars(newCapacity); 1238 if (!d) 1237 1239 makeNull(); 1238 1240 else { … … 1312 1314 m_rep->len = l; 1313 1315 } else { 1314 if (!allocChars(l).getValue(d)) { 1316 d = allocChars(l); 1317 if (!d) { 1315 1318 makeNull(); 1316 1319 return *this;
Note:
See TracChangeset
for help on using the changeset viewer.