| Index: src/core/SkWriter32.cpp
|
| diff --git a/src/core/SkWriter32.cpp b/src/core/SkWriter32.cpp
|
| index 46150ee7522ba0f6a45487b0caf790f214d77bcb..fe33e4a39cf011d1ce54d1d9a08c321d99f707fe 100644
|
| --- a/src/core/SkWriter32.cpp
|
| +++ b/src/core/SkWriter32.cpp
|
| @@ -63,17 +63,13 @@ size_t SkWriter32::WriteStringSize(const char* str, size_t len) {
|
| return SkAlign4(lenBytes + len + 1);
|
| }
|
|
|
| -const size_t kMinBufferBytes = 4096;
|
| -
|
| void SkWriter32::growToAtLeast(size_t size) {
|
| const bool wasExternal = (fExternal != NULL) && (fData == fExternal);
|
| - const size_t minCapacity = kMinBufferBytes +
|
| - SkTMax(size, fCapacity + (fCapacity >> 1));
|
|
|
| - // cause the buffer to grow
|
| - fInternal.setCountExact(minCapacity);
|
| - fData = fInternal.begin();
|
| - fCapacity = fInternal.reserved();
|
| + fCapacity = 4096 + SkTMax(size, fCapacity + (fCapacity / 2));
|
| + fInternal.realloc(fCapacity);
|
| + fData = fInternal.get();
|
| +
|
| if (wasExternal) {
|
| // we were external, so copy in the data
|
| memcpy(fData, fExternal, fUsed);
|
|
|