diff options
| author | Alexander Tkachev | 2016-07-14 09:33:15 +0600 |
|---|---|---|
| committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
| commit | e25338ec2494c6ae2ff97f231108627635040f76 (patch) | |
| tree | e2c12f65ed4da7b9c119e0b95ac4b29b09a652e9 /backends/networking/curl/curljsonrequest.cpp | |
| parent | 1a53dccf51aaf02ca4d0d7a176cca20d385d1ac4 (diff) | |
| download | scummvm-rg350-e25338ec2494c6ae2ff97f231108627635040f76.tar.gz scummvm-rg350-e25338ec2494c6ae2ff97f231108627635040f76.tar.bz2 scummvm-rg350-e25338ec2494c6ae2ff97f231108627635040f76.zip | |
CLOUD: Update CurlJsonRequest
Uses dynamically allocated buffer now.
Diffstat (limited to 'backends/networking/curl/curljsonrequest.cpp')
| -rw-r--r-- | backends/networking/curl/curljsonrequest.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/backends/networking/curl/curljsonrequest.cpp b/backends/networking/curl/curljsonrequest.cpp index 3bfc823d25..875f5e7fbd 100644 --- a/backends/networking/curl/curljsonrequest.cpp +++ b/backends/networking/curl/curljsonrequest.cpp @@ -32,9 +32,13 @@ namespace Networking { CurlJsonRequest::CurlJsonRequest(JsonCallback cb, ErrorCallback ecb, Common::String url): - CurlRequest(nullptr, ecb, url), _jsonCallback(cb), _contentsStream(DisposeAfterUse::YES) {} + CurlRequest(nullptr, ecb, url), _jsonCallback(cb), _contentsStream(DisposeAfterUse::YES), + _buffer(new byte[CURL_JSON_REQUEST_BUFFER_SIZE]) {} -CurlJsonRequest::~CurlJsonRequest() { delete _jsonCallback; } +CurlJsonRequest::~CurlJsonRequest() { + delete _jsonCallback; + delete[] _buffer; +} char *CurlJsonRequest::getPreparedContents() { //write one more byte in the end @@ -60,11 +64,9 @@ void CurlJsonRequest::handle() { if (!_stream) _stream = makeStream(); if (_stream) { - const int kBufSize = 16*1024; - char buf[kBufSize+1]; - uint32 readBytes = _stream->read(buf, kBufSize); + uint32 readBytes = _stream->read(_buffer, CURL_JSON_REQUEST_BUFFER_SIZE); if (readBytes != 0) - if (_contentsStream.write(buf, readBytes) != readBytes) + if (_contentsStream.write(_buffer, readBytes) != readBytes) warning("MemoryWriteStreamDynamic was unable to write all the bytes"); if (_stream->eos()) { |
