diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-17 21:18:13 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-17 21:18:13 +0000 |
commit | 028598357fb1cb848a95e83f1614e3d58cb87681 (patch) | |
tree | d0809f4e92efcbde5669bec3be0d4e68dd873185 /net/url_request | |
parent | 86fd149aaa8d1e5d0e369dedf9e9ebe15ef137e8 (diff) | |
download | chromium_src-028598357fb1cb848a95e83f1614e3d58cb87681.zip chromium_src-028598357fb1cb848a95e83f1614e3d58cb87681.tar.gz chromium_src-028598357fb1cb848a95e83f1614e3d58cb87681.tar.bz2 |
Use base::Time::Exploded instead of struct tm in
ftp_directory_parser.{h,cc}.
The patch is contributed by Ibrar Ahmed <ibrar.ahmad@gmail.com>.
Original review URL: http://codereview.chromium.org/126096
R=wtc
BUG=http://crbug.com/4965
TEST=none
Review URL: http://codereview.chromium.org/149772
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21003 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r-- | net/url_request/url_request_new_ftp_job.cc | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/net/url_request/url_request_new_ftp_job.cc b/net/url_request/url_request_new_ftp_job.cc index e603a38..1bdd6cb 100644 --- a/net/url_request/url_request_new_ftp_job.cc +++ b/net/url_request/url_request_new_ftp_job.cc @@ -77,7 +77,7 @@ URLRequestNewFtpJob::~URLRequestNewFtpJob() { // static URLRequestJob* URLRequestNewFtpJob::Factory(URLRequest* request, const std::string& scheme) { - DCHECK(scheme == "ftp"); + DCHECK_EQ(scheme, "ftp"); if (request->url().has_port() && !net::IsPortAllowedByFtp(request->url().IntPort())) @@ -200,47 +200,21 @@ int URLRequestNewFtpJob::ProcessFtpDir(net::IOBuffer *buf, while (getline(iss, line)) { struct net::ListState state; struct net::ListResult result; - base::Time::Exploded et; std::replace(line.begin(), line.end(), '\r', '\0'); net::LineType line_type = ParseFTPLine(line.c_str(), &state, &result); switch (line_type) { case net::FTP_TYPE_DIRECTORY: - // TODO(ibrar): There is some problem in ParseFTPLine function or - // in conversion between tm and base::Time::Exploded. - // It returns wrong date/time (Differnce is 1 day and 17 Hours). - memset(&et, 0, sizeof(base::Time::Exploded)); - et.second = result.fe_time.tm_sec; - et.minute = result.fe_time.tm_min; - et.hour = result.fe_time.tm_hour; - et.day_of_month = result.fe_time.tm_mday; - et.month = result.fe_time.tm_mon + 1; - et.year = result.fe_time.tm_year + 1900; - et.day_of_week = result.fe_time.tm_wday; - file_entry.append(net::GetDirectoryListingEntry( RawByteSequenceToFilename(result.fe_fname, encoding_), - result.fe_fname, true, 0, base::Time::FromLocalExploded(et))); + result.fe_fname, true, 0, + base::Time::FromLocalExploded(result.fe_time))); break; case net::FTP_TYPE_FILE: - // TODO(ibrar): There should be a way to create a Time object based - // on "tm" structure. This will remove bunch of line of code to convert - // tm to Time object. - memset(&et, 0, sizeof(base::Time::Exploded)); - et.second = result.fe_time.tm_sec; - et.minute = result.fe_time.tm_min; - et.hour = result.fe_time.tm_hour; - et.day_of_month = result.fe_time.tm_mday; - et.month = result.fe_time.tm_mon + 1; - et.year = result.fe_time.tm_year + 1900; - et.day_of_week = result.fe_time.tm_wday; - // TODO(ibrar): There is some problem in ParseFTPLine function or - // in conversion between tm and base::Time::Exploded. - // It returns wrong date/time (Differnce is 1 day and 17 Hours). if (StringToInt64(result.fe_size, &file_size)) file_entry.append(net::GetDirectoryListingEntry( RawByteSequenceToFilename(result.fe_fname, encoding_), result.fe_fname, false, file_size, - base::Time::FromLocalExploded(et))); + base::Time::FromLocalExploded(result.fe_time))); break; case net::FTP_TYPE_SYMLINK: case net::FTP_TYPE_JUNK: |