Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
58b3960e
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看板
提交
58b3960e
编写于
1月 07, 2013
作者:
B
bchristi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8003228: (props) sun.jnu.encoding should be set to UTF-8 [macosx]
Summary: Hard-code sun.jnu.encoding to UTF-8 on Mac Reviewed-by: naoto
上级
35577586
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
159 addition
and
0 deletion
+159
-0
src/share/native/java/lang/System.c
src/share/native/java/lang/System.c
+8
-0
src/solaris/native/java/lang/java_props_md.c
src/solaris/native/java/lang/java_props_md.c
+5
-0
test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java
...java/util/Properties/MacJNUEncoding/ExpectedEncoding.java
+56
-0
test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh
test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh
+90
-0
未找到文件。
src/share/native/java/lang/System.c
浏览文件 @
58b3960e
...
...
@@ -389,11 +389,19 @@ Java_java_lang_System_initProperties(JNIEnv *env, jclass cla, jobject props)
sprops
->
display_variant
,
sprops
->
format_variant
,
putID
,
getPropID
);
GETPROP
(
props
,
"file.encoding"
,
jVMVal
);
if
(
jVMVal
==
NULL
)
{
#ifdef MACOSX
/*
* Since sun_jnu_encoding is now hard-coded to UTF-8 on Mac, we don't
* want to use it to overwrite file.encoding
*/
PUTPROP
(
props
,
"file.encoding"
,
sprops
->
encoding
);
#else
if
(
fmtdefault
)
{
PUTPROP
(
props
,
"file.encoding"
,
sprops
->
encoding
);
}
else
{
PUTPROP
(
props
,
"file.encoding"
,
sprops
->
sun_jnu_encoding
);
}
#endif
}
else
{
(
*
env
)
->
DeleteLocalRef
(
env
,
jVMVal
);
}
...
...
src/solaris/native/java/lang/java_props_md.c
浏览文件 @
58b3960e
...
...
@@ -538,7 +538,12 @@ GetJavaProperties(JNIEnv *env)
sprops
.
display_script
=
sprops
.
script
;
sprops
.
display_country
=
sprops
.
country
;
sprops
.
display_variant
=
sprops
.
variant
;
#ifdef MACOSX
sprops
.
sun_jnu_encoding
=
"UTF-8"
;
#else
sprops
.
sun_jnu_encoding
=
sprops
.
encoding
;
#endif
#ifdef _ALLBSD_SOURCE
#if BYTE_ORDER == _LITTLE_ENDIAN
...
...
test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java
0 → 100644
浏览文件 @
58b3960e
/*
* Copyright (c) 2012, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Check that the value of file.encoding and sun.jnu.encoding match the expected
* values passed in on the command-line.
*/
public
class
ExpectedEncoding
{
public
static
void
main
(
String
[]
args
)
{
boolean
failed
=
false
;
if
(
args
.
length
!=
2
)
{
System
.
out
.
println
(
"Usage:"
);
System
.
out
.
println
(
"$ java ExpectedEncoding <expected file.encoding> <expected sun.jnu.encoding>"
);
}
String
expectFileEnc
=
args
[
0
];
String
expectSunJnuEnc
=
args
[
1
];
String
fileEnc
=
System
.
getProperty
(
"file.encoding"
);
String
jnuEnc
=
System
.
getProperty
(
"sun.jnu.encoding"
);
if
(
fileEnc
==
null
||
!
fileEnc
.
equals
(
expectFileEnc
))
{
System
.
err
.
println
(
"Expected file.encoding: "
+
expectFileEnc
);
System
.
err
.
println
(
"Actual file.encoding: "
+
fileEnc
);
failed
=
true
;
}
if
(
jnuEnc
==
null
||
!
jnuEnc
.
equals
(
expectSunJnuEnc
))
{
System
.
err
.
println
(
"Expected sun.jnu.encoding: "
+
expectSunJnuEnc
);
System
.
err
.
println
(
"Actual sun.jnu.encoding: "
+
jnuEnc
);
failed
=
true
;
}
if
(
failed
)
{
System
.
err
.
println
(
"Test Failed"
);
System
.
exit
(
1
);
}
}
}
test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh
0 → 100644
浏览文件 @
58b3960e
#!/bin/sh
#
# Copyright (c) 2012 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
# @test
# @bug 8003228
# @summary Test the value of sun.jnu.encoding on Mac
# @author Brent Christian
#
# @run shell MacJNUEncoding.sh
# Only run test on Mac
OS
=
`
uname
-s
`
case
"
$OS
"
in
Darwin
)
;;
*
)
exit
0
;;
esac
if
[
"
${
TESTJAVA
}
"
=
""
]
then
echo
"TESTJAVA not set. Test cannot execute. Failed."
exit
1
fi
if
[
"
${
TESTSRC
}
"
=
""
]
then
echo
"TESTSRC not set. Test cannot execute. Failed."
exit
1
fi
if
[
"
${
TESTCLASSES
}
"
=
""
]
then
echo
"TESTCLASSES not set. Test cannot execute. Failed."
exit
1
fi
JAVAC
=
"
${
TESTJAVA
}
"
/bin/javac
JAVA
=
"
${
TESTJAVA
}
"
/bin/java
echo
"Building test classes..."
"
$JAVAC
"
-d
"
${
TESTCLASSES
}
"
"
${
TESTSRC
}
"
/ExpectedEncoding.java
echo
""
echo
"Running test for LANG=C"
export
LANG
=
C
"
${
JAVA
}
"
${
TESTVMOPTS
}
-classpath
"
${
TESTCLASSES
}
"
ExpectedEncoding US-ASCII UTF-8
result1
=
$?
echo
""
echo
"Running test for LANG=en_US.UTF-8"
export
LANG
=
en_US.UTF-8
"
${
JAVA
}
"
${
TESTVMOPTS
}
-classpath
"
${
TESTCLASSES
}
"
ExpectedEncoding UTF-8 UTF-8
result2
=
$?
echo
""
echo
"Cleanup"
rm
${
TESTCLASSES
}
/ExpectedEncoding.class
if
[
${
result1
}
-ne
0
]
;
then
echo
"Test failed for LANG=C"
exit
${
result1
}
fi
if
[
${
result2
}
-ne
0
]
;
then
echo
"Test failed for LANG=en_US.UTF-8"
exit
${
result2
}
fi
exit
0
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录