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