mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-25 22:25:25 +08:00
libstdc++: Support single components in name of chrono::current_zone() [PR108211]
We currently only handle the case where /etc/localtime is a symlink to a path like ".../Etc/UTC" and fail for ".../UTC". This makes both work. libstdc++-v3/ChangeLog: PR libstdc++/108211 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone using only last component of the name.
This commit is contained in:
parent
b1ad748754
commit
56be197076
@ -1501,8 +1501,11 @@ namespace std::chrono
|
|||||||
if (std::distance(first, last) > 2)
|
if (std::distance(first, last) > 2)
|
||||||
{
|
{
|
||||||
--last;
|
--last;
|
||||||
string name = std::prev(last)->string() + '/';
|
string name = last->string();
|
||||||
name += last->string();
|
if (auto tz = do_locate_zone(this->zones, this->links, name))
|
||||||
|
return tz;
|
||||||
|
--last;
|
||||||
|
name = last->string() + '/' + name;
|
||||||
if (auto tz = do_locate_zone(this->zones, this->links, name))
|
if (auto tz = do_locate_zone(this->zones, this->links, name))
|
||||||
return tz;
|
return tz;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user