Switch SkAutoMalloc to SkAutoTMalloc to avoid cast
Make SkAutoTMalloc's interface look more like SkAutoMalloc:
- add free(), which does what you expect
- make reset() return a pointer fPtr
No public API changes (SkAutoTMalloc is in include/private)
BUG=skia:2148
Review URL: https://codereview.chromium.org/1516833003
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index c71fda5..f9865dc 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -27,6 +27,7 @@
#include "SkPictureRecorder.h"
#include "SkStream.h"
#include "SkSurface.h"
+#include "SkTemplates.h"
#include "SkTSort.h"
#include "SkTime.h"
#include "SkTypeface.h"
@@ -792,8 +793,8 @@
SkFILEStream stream(FLAGS_sequence[0]);
if (stream.isValid()) {
size_t len = stream.getLength();
- SkAutoMalloc storage(len + 1);
- char* buffer = (char*)storage.get();
+ SkAutoTMalloc<char> storage(len + 1);
+ char* buffer = storage.get();
stream.read(buffer, len);
buffer[len] = 0;
diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
index 9973d37..a0f7aff 100644
--- a/samplecode/SampleFilterFuzz.cpp
+++ b/samplecode/SampleFilterFuzz.cpp
@@ -215,10 +215,10 @@
int size = 4 << R(5);
SkData* data = SkData::NewUninitialized(sizeof(SkColor) * size * size * size);
SkColor* pixels = (SkColor*)(data->writable_data());
- SkAutoMalloc lutMemory(size);
- SkAutoMalloc invLutMemory(size);
- uint8_t* lut = (uint8_t*)lutMemory.get();
- uint8_t* invLut = (uint8_t*)invLutMemory.get();
+ SkAutoTMalloc<uint8_t> lutMemory(size);
+ SkAutoTMalloc<uint8_t> invLutMemory(size);
+ uint8_t* lut = lutMemory.get();
+ uint8_t* invLut = invLutMemory.get();
const int maxIndex = size - 1;
for (int i = 0; i < size; i++) {
lut[i] = (i * 255) / maxIndex;