Index: net/http/http_network_transaction.cc |
=================================================================== |
--- net/http/http_network_transaction.cc (revision 8565) |
+++ net/http/http_network_transaction.cc (working copy) |
@@ -52,7 +52,6 @@ |
header_buf_http_offset_(-1), |
content_length_(-1), // -1 means unspecified. |
content_read_(0), |
- read_buf_(NULL), |
read_buf_len_(0), |
next_state_(STATE_NONE) { |
#if defined(OS_WIN) |
@@ -134,7 +133,7 @@ |
ResetStateForRestart(); |
} |
-int HttpNetworkTransaction::Read(char* buf, int buf_len, |
+int HttpNetworkTransaction::Read(IOBuffer* buf, int buf_len, |
CompletionCallback* callback) { |
DCHECK(response_.headers); |
DCHECK(buf); |
@@ -726,7 +725,7 @@ |
// We may have some data remaining in the header buffer. |
if (header_buf_.get() && header_buf_body_offset_ < header_buf_len_) { |
int n = std::min(read_buf_len_, header_buf_len_ - header_buf_body_offset_); |
- memcpy(read_buf_, header_buf_.get() + header_buf_body_offset_, n); |
+ memcpy(read_buf_->data(), header_buf_.get() + header_buf_body_offset_, n); |
header_buf_body_offset_ += n; |
if (header_buf_body_offset_ == header_buf_len_) { |
header_buf_.reset(); |
@@ -737,7 +736,8 @@ |
return n; |
} |
- return connection_.socket()->Read(read_buf_, read_buf_len_, &io_callback_); |
+ return connection_.socket()->Read(read_buf_->data(), read_buf_len_, |
+ &io_callback_); |
} |
int HttpNetworkTransaction::DoReadBodyComplete(int result) { |
@@ -747,7 +747,7 @@ |
// Filter incoming data if appropriate. FilterBuf may return an error. |
if (result > 0 && chunked_decoder_.get()) { |
- result = chunked_decoder_->FilterBuf(read_buf_, result); |
+ result = chunked_decoder_->FilterBuf(read_buf_->data(), result); |
if (result == 0 && !chunked_decoder_->reached_eof()) { |
// Don't signal completion of the Read call yet or else it'll look like |
// we received end-of-file. Wait for more data. |