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

-------------

Commit messages:
 - 8273111: Default timezone should return zone ID if /etc/localtime is valid 
but not canonicalization on linux

Changes: https://git.openjdk.java.net/jdk/pull/5327/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5327&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8273111
  Stats: 10 lines in 1 file changed: 2 ins; 1 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5327.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5327/head:pull/5327

PR: https://git.openjdk.java.net/jdk/pull/5327

Reply via email to