mirror of
https://github.com/ToruNiina/toml11.git
synced 2024-11-09 22:30:07 +00:00
fix: rearrange internal int types in datetimes
This commit is contained in:
parent
8208bbf236
commit
71ff54e76c
@ -46,7 +46,7 @@ inline std::tm localtime_s(const std::time_t* src)
|
||||
#endif
|
||||
} // detail
|
||||
|
||||
enum class month_t : std::int8_t
|
||||
enum class month_t : std::uint8_t
|
||||
{
|
||||
Jan = 0,
|
||||
Feb = 1,
|
||||
@ -98,9 +98,9 @@ struct local_date
|
||||
t.tm_sec = 0;
|
||||
t.tm_min = 0;
|
||||
t.tm_hour = 0;
|
||||
t.tm_mday = this->day;
|
||||
t.tm_mon = this->month;
|
||||
t.tm_year = this->year - 1900;
|
||||
t.tm_mday = static_cast<int>(this->day);
|
||||
t.tm_mon = static_cast<int>(this->month);
|
||||
t.tm_year = static_cast<int>(this->year) - 1900;
|
||||
t.tm_wday = 0; // the value will be ignored
|
||||
t.tm_yday = 0; // the value will be ignored
|
||||
t.tm_isdst = -1;
|
||||
|
@ -660,9 +660,9 @@ parse_local_time(location<Container>& loc)
|
||||
{{std::addressof(inner_loc), "here"}}));
|
||||
}
|
||||
local_time time(
|
||||
static_cast<std::int8_t>(from_string<int>(h.unwrap().str(), 0)),
|
||||
static_cast<std::int8_t>(from_string<int>(m.unwrap().str(), 0)),
|
||||
static_cast<std::int8_t>(from_string<int>(s.unwrap().str(), 0)), 0, 0);
|
||||
from_string<int>(h.unwrap().str(), 0),
|
||||
from_string<int>(m.unwrap().str(), 0),
|
||||
from_string<int>(s.unwrap().str(), 0), 0, 0);
|
||||
|
||||
const auto before_secfrac = inner_loc.iter();
|
||||
if(const auto secfrac = lex_time_secfrac::invoke(inner_loc))
|
||||
@ -678,13 +678,13 @@ parse_local_time(location<Container>& loc)
|
||||
}
|
||||
if(sf.size() >= 6)
|
||||
{
|
||||
time.millisecond = from_string<std::int16_t>(sf.substr(0, 3), 0);
|
||||
time.microsecond = from_string<std::int16_t>(sf.substr(3, 3), 0);
|
||||
time.millisecond = from_string<std::uint16_t>(sf.substr(0, 3), 0u);
|
||||
time.microsecond = from_string<std::uint16_t>(sf.substr(3, 3), 0u);
|
||||
}
|
||||
else if(sf.size() >= 3)
|
||||
{
|
||||
time.millisecond = from_string<std::int16_t>(sf, 0);
|
||||
time.microsecond = 0;
|
||||
time.millisecond = from_string<std::uint16_t>(sf, 0u);
|
||||
time.microsecond = 0u;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user