BDateTime: Time_T functions return or take a time_t
* They used an unsigned int, which led to overflows when trying to set them to a time before January 1st, 1970 (local time) * Some things use January 1st, 1970, GMT (or UTC) as a reference point. In my timezone this leads to such a negative date. An example is cookie expiration dates which are set to this date to expire them immediately. Spotted by Opera testsuite. * This makes the method unuseable for dates after 2036 (signed 32-bit time_t will overflow then. This gives us just 33 years to switch to a 64-bit time_t. In te meantime, please try using other methods to set the date and time for BDateTime objects if you need to go this far.
This commit is contained in:
@@ -189,8 +189,8 @@ public:
|
||||
const BTime& Time() const;
|
||||
void SetTime(const BTime &time);
|
||||
|
||||
int32 Time_t() const;
|
||||
void SetTime_t(uint32 seconds);
|
||||
time_t Time_t() const;
|
||||
void SetTime_t(time_t seconds);
|
||||
|
||||
bool operator!=(const BDateTime& dateTime) const;
|
||||
bool operator==(const BDateTime& dateTime) const;
|
||||
|
||||
Reference in New Issue
Block a user