Chromium Code Reviews| Index: native_client_sdk/src/libraries/nacl_io/fifo_char.cc |
| diff --git a/native_client_sdk/src/libraries/nacl_io/fifo_char.cc b/native_client_sdk/src/libraries/nacl_io/fifo_char.cc |
| index 56245559724f4fd7c5c4b56ddef31819d28ed929..0ae0df47c14375175b2577a3cf6aa8caba5983e5 100644 |
| --- a/native_client_sdk/src/libraries/nacl_io/fifo_char.cc |
| +++ b/native_client_sdk/src/libraries/nacl_io/fifo_char.cc |
| @@ -4,6 +4,7 @@ |
| #include "nacl_io/fifo_char.h" |
| +#include <assert.h> |
| #include <stdlib.h> |
| #include <string.h> |
| @@ -13,12 +14,14 @@ namespace nacl_io { |
| FIFOChar::FIFOChar(size_t size) |
| : buffer_(NULL), size_(size), avail_(0), tail_(0) { |
| - if (size) |
| - buffer_ = new char[size]; |
| + if (size) { |
| + buffer_ = (char*)malloc(size); |
| + assert(buffer_ != NULL); |
| + } |
| } |
| FIFOChar::~FIFOChar() { |
| - delete[] buffer_; |
| + free(buffer_); |
| } |
| bool FIFOChar::IsEmpty() { |
| @@ -34,13 +37,9 @@ bool FIFOChar::Resize(size_t len) { |
| if (len < avail_) |
| return false; |
| - // Read current data into new buffer |
| - char* data = new char[len]; |
| - avail_ = Read(data, avail_); |
| - |
| - // Replace buffer |
| - delete[] buffer_; |
| - buffer_ = data; |
| + // Resize buffer |
| + buffer_ = (char*)realloc(buffer_, len); |
| + assert(buffer_ != NULL); |
|
binji
2014/08/06 17:17:59
could return false here?
Sam Clegg
2014/08/07 11:49:52
Done.
|
| size_ = len; |
| return true; |
| } |