Opened 14 years ago
Closed 5 years ago
#2818 closed Bugs (fixed)
boost::posix_time::from_time_t() assumes boost::int32_t == long
Reported by: | Owned by: | James E. King, III | |
---|---|---|---|
Milestone: | Boost 1.67.0 | Component: | date_time |
Version: | Boost 1.38.0 | Severity: | Problem |
Keywords: | Cc: |
Description
boost::posix_time::from_time_t() uses a static_cast<long> to coerce the argument t to the appropriate type for the function seconds(), which expects a boost::int32_t. On an LP64 platform like MacOS 10.5, long is 64 bits, so this is incorrect and generates a warning about possible truncation. The corrected function should be:
//! Function that converts a time_t into a ptime. inline ptime from_time_t(std::time_t t) { ptime start(gregorian::date(1970,1,1)); return start + seconds(static_cast<boost::int32_t>(t)); }
Change History (4)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
There a fix for this in https://svn.boost.org/trac/boost/ticket/4543. This can be closed as a duplicate of 4543, I believe.
comment:3 by , 5 years ago
Milestone: | Boost 1.39.0 → Boost 1.67.0 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
Version: | Boost Release Branch → Boost 1.38.0 |
Resolved as part of github issue 56:
comment:4 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fix merged to master; resolved.
Note:
See TracTickets
for help on using tickets.
OMG, 8 years old! Any chance to be fixed in this decade?