Gnash
0.8.10
|
Functions | |
DSOEXPORT boost::uint64_t | getTicks () |
Wall clock timer, returns current POSIX time in milliseconds. | |
DSOEXPORT boost::int32_t | getTimeZoneOffset (double time) |
boost::uint64_t gnash::clocktime::getTicks | ( | ) |
Wall clock timer, returns current POSIX time in milliseconds.
References gnash::key::L.
Referenced by gnash::media::gst::SimpleTimer::expired(), resetLastAdvanceTimer(), secondsSinceLastAdvance(), gnash::WallClockTimer::restart(), and gnash::WallClockTimer::elapsed().
boost::int32_t gnash::clocktime::getTimeZoneOffset | ( | double | time | ) |
Returns the offset between actual clock time and UTC. It relies on the system's time zone settings, so cannot be regarded as reliable.
Common non-boost function to return the present time offset. This all seems like a terrible hack. It was moved from Date.cpp, whence the following explanation also comes.
If the real mktime() sees isdst == 0 with a DST date, it sets t_isdst and modifies the hour fields, but we need to set the specified hour in the localtime in force at that time.
To do this we set tm_isdst to the correct value for that moment in time by doing an initial conversion of the time to find out is_dst for that moment without DST, then do the real conversion. This may still get things wrong around the hour when the clocks go back
It also gets things wrong for very high or low time values, when the localtime implementation fills the gmtoff element with 53 minutes (on at least one machine, anyway).