<i18n dev> RFR: 8273111: Default timezone should return zone ID if /etc/localtime is valid but not canonicalization on linux
Wu Yan
wuyan at openjdk.java.net
Sat Oct 9 09:09:10 UTC 2021
On Wed, 1 Sep 2021 13:39:46 GMT, Naoto Sato <naoto at openjdk.org> wrote:
>> Hi,
>> Please help me review the change to enhance getting time zone ID from /etc/localtime on linux.
>>
>> We use `realpath` instead of `readlink` to obtain the link name of /etc/localtime, because `readlink` can only read the value of a symbolic of link, not the canonicalized absolute pathname.
>>
>> For example, the value of /etc/localtime is "../usr/share/zoneinfo//Asia/Shanghai", then the linkbuf obtained by `readlink` is "../usr/share/zoneinfo//Asia/Shanghai", and then the call of `getZoneName(linkbuf)` will get "/Asia/Shanghai", not "Asia/Shanghai", which consider as invalid in `ZoneInfoFile.getZoneInfo()`. Using `realpath`, you can get “/usr/share/zoneinfo/Asia/Shanghai“ directly from “/etc/localtime“.
>>
>> Thanks,
>> wuyan
>
> The change looks reasonable. Please test your fix with macOS as well.
Hi, @naotoj, Could you do me a favor to review the patch?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5327
More information about the i18n-dev
mailing list