Skip to content
Permalink
Browse files

downloader: Simplify HTTPDate's timezone-correction code

  • Loading branch information
CFSworks committed Nov 27, 2019
1 parent ae33d62 commit 23f779e799a0a6818fcafb2bc80480293a505456
Showing with 2 additions and 22 deletions.
  1. +2 −22 panda/src/downloader/httpDate.cxx
@@ -209,33 +209,13 @@ HTTPDate(const string &format) {
return;
}

// Everything checks out; convert the date. rdb made this an if 0 check as
// timegm is a nonstandard extension so it fails in some situations even if
// the compiler defines __GNUC__
#if 0

_time = timegm(&t);

#else // __GNUC__
// Without the GNU extension timegm, we have to use mktime() instead.
// Everything checks out; convert the date.
_time = mktime(&t);

if (_time != (time_t)-1) {
// Unfortunately, mktime() assumes local time; convert this back to GMT.
#if defined(IS_FREEBSD)
time_t now = time(nullptr);
struct tm *tp = localtime(&now);
_time -= tp->tm_gmtoff;
#elif defined(_WIN32)
long int timezone;
_get_timezone(&timezone);
_time -= timezone;
#else
extern long int timezone;
_time -= timezone;
#endif
_time += (mktime(localtime(&_time)) - mktime(gmtime(&_time)));
}
#endif // __GNUC__
}

/**

0 comments on commit 23f779e

Please sign in to comment.
You can’t perform that action at this time.