Chromium Code Reviews| Index: net/ftp/ftp_network_transaction.cc |
| =================================================================== |
| --- net/ftp/ftp_network_transaction.cc (revision 17956) |
| +++ net/ftp/ftp_network_transaction.cc (working copy) |
| @@ -693,10 +693,9 @@ |
| int FtpNetworkTransaction::ProcessResponseRETR(int response_code) { |
| switch (GetErrorClass(response_code)) { |
| case ERROR_CLASS_INITIATED: |
| - next_state_ = STATE_CTRL_WRITE_QUIT; |
| break; |
| case ERROR_CLASS_OK: |
| - next_state_ = STATE_DATA_RESOLVE_HOST; |
| + next_state_ = STATE_CTRL_WRITE_QUIT; |
| break; |
| case ERROR_CLASS_PENDING: |
| next_state_ = STATE_CTRL_WRITE_PASV; |
| @@ -706,7 +705,11 @@ |
| return Stop(ERR_FAILED); |
| return ERR_FAILED; // TODO(ibrar): Retry here. |
| case ERROR_CLASS_ERROR: |
|
wtc
2009/06/09 21:36:32
Our convention is to not use 'else' after 'return'
|
| - retr_failed_ = true; |
| + if (retr_failed_) { |
| + return Stop(ERR_FAILED); |
| + } else { |
| + retr_failed_ = true; |
| + } |
| next_state_ = STATE_CTRL_WRITE_PASV; |
| break; |
| default: |
| @@ -825,6 +828,9 @@ |
| // Data Connection |
| int FtpNetworkTransaction::DoDataResolveHost() { |
| + if (data_socket_ != NULL && data_socket_->IsConnected()) |
| + data_socket_->Disconnect(); |
| + |
| next_state_ = STATE_DATA_RESOLVE_HOST_COMPLETE; |
| DidStartDnsResolution(data_connection_ip_, this); |
| @@ -843,9 +849,6 @@ |
| } |
| int FtpNetworkTransaction::DoDataConnect() { |
| - if (data_socket_ != NULL && data_socket_->IsConnected()) |
| - data_socket_->Disconnect(); |
| - |
| next_state_ = STATE_DATA_CONNECT_COMPLETE; |
| data_socket_.reset(socket_factory_->CreateTCPClientSocket(addresses_)); |
| return data_socket_->Connect(&io_callback_); |