Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
80584c90
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
80584c90
编写于
3月 13, 2012
作者:
C
coffeys
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7149608: Default TZ detection fails on linux when symbolic links to non default location used.
Reviewed-by: alanb, okutsu
上级
f0eb9f23
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
9 deletion
+15
-9
src/solaris/native/java/util/TimeZone_md.c
src/solaris/native/java/util/TimeZone_md.c
+15
-9
未找到文件。
src/solaris/native/java/util/TimeZone_md.c
浏览文件 @
80584c90
/*
* Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 201
2
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -96,9 +96,9 @@ getPathName(const char *dir, const char *name) {
/*
* Scans the specified directory and its subdirectories to find a
* zoneinfo file which has the same content as /etc/localtime on Linux
* or /usr/share/lib/zoneinfo/localtime
(most likely a symbolic link)
*
on Solaris given in 'buf'. Returns a zone ID if found, otherwise,
* NULL is returned.
* or /usr/share/lib/zoneinfo/localtime
on Solaris given in 'buf'.
*
If file is symbolic link, then the contents it points to are in buf.
*
Returns a zone ID if found, otherwise,
NULL is returned.
*/
static
char
*
findZoneinfoFile
(
char
*
buf
,
size_t
size
,
const
char
*
dir
)
...
...
@@ -280,21 +280,27 @@ getPlatformTimeZoneID()
tz
=
getZoneName
(
linkbuf
);
if
(
tz
!=
NULL
)
{
tz
=
strdup
(
tz
);
return
tz
;
}
return
tz
;
}
/*
* If it's a regular file, we need to find out the same zoneinfo file
* that has been copied as /etc/localtime.
* If initial symbolic link resolution failed, we should treat target
* file as a regular file.
*/
if
((
fd
=
open
(
DEFAULT_ZONEINFO_FILE
,
O_RDONLY
))
==
-
1
)
{
return
NULL
;
}
if
(
fstat
(
fd
,
&
statbuf
)
==
-
1
)
{
(
void
)
close
(
fd
);
return
NULL
;
}
size
=
(
size_t
)
statbuf
.
st_size
;
buf
=
(
char
*
)
malloc
(
size
);
if
(
buf
==
NULL
)
{
return
NULL
;
}
if
((
fd
=
open
(
DEFAULT_ZONEINFO_FILE
,
O_RDONLY
))
==
-
1
)
{
free
((
void
*
)
buf
);
(
void
)
close
(
fd
);
return
NULL
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录