Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
4ae7bcd0
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看板
提交
4ae7bcd0
编写于
5月 24, 2013
作者:
K
ksrini
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8007333: [launcher] removes multiple back slashes
Reviewed-by: alanb, akhil
上级
9147d14d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
27 addition
and
3 deletion
+27
-3
src/windows/bin/cmdtoargs.c
src/windows/bin/cmdtoargs.c
+12
-2
test/tools/launcher/Arrrghs.java
test/tools/launcher/Arrrghs.java
+15
-1
未找到文件。
src/windows/bin/cmdtoargs.c
浏览文件 @
4ae7bcd0
...
...
@@ -128,7 +128,9 @@ static char* next_arg(char* cmdline, char* arg, jboolean* wildcard) {
*
wildcard
=
JNI_TRUE
;
}
if
(
prev
==
'\\'
)
{
*
dest
++
=
prev
;
for
(
i
=
0
;
i
<
slashes
;
i
++
)
{
*
dest
++
=
prev
;
}
}
*
dest
++
=
ch
;
break
;
...
...
@@ -184,7 +186,7 @@ void JLI_CmdToArgs(char* cmdline) {
argv
=
(
StdArg
*
)
JLI_MemRealloc
(
argv
,
(
nargs
+
1
)
*
sizeof
(
StdArg
));
argv
[
nargs
].
arg
=
JLI_StringDup
(
arg
);
argv
[
nargs
].
has_wildcard
=
wildcard
;
*
arg
=
NULL
;
nargs
++
;
}
while
(
src
!=
NULL
);
...
...
@@ -602,6 +604,14 @@ int main(int argc, char* argv[]) {
v
->
add
(
"d"
,
FALSE
);
vectors
[
i
++
]
=
v
;
v
=
new
Vector
(
argv
[
0
],
"
\\\\
?"
);
v
->
add
(
"
\\\\
?"
,
TRUE
);
vectors
[
i
++
]
=
v
;
v
=
new
Vector
(
argv
[
0
],
"
\\\\
*"
);
v
->
add
(
"
\\\\
*"
,
TRUE
);
vectors
[
i
++
]
=
v
;
dotest
(
vectors
);
printf
(
"All tests pass [%d]
\n
"
,
i
);
doexit
(
0
);
...
...
test/tools/launcher/Arrrghs.java
浏览文件 @
4ae7bcd0
...
...
@@ -24,7 +24,7 @@
/**
* @test
* @bug 5030233 6214916 6356475 6571029 6684582 6742159 4459600 6758881 6753938
* 6894719 6968053 7151434 7146424
* 6894719 6968053 7151434 7146424
8007333
* @summary Argument parsing validation.
* @compile -XDignore.symbol.file Arrrghs.java
* @run main/othervm Arrrghs
...
...
@@ -310,6 +310,20 @@ public class Arrrghs extends TestHelper {
checkArgumentParsing
(
"..\\..\\"
,
"..\\..\\"
);
checkArgumentParsing
(
"../../"
,
"../../"
);
checkArgumentParsing
(
"a b\\ c"
,
"a"
,
"b\\"
,
"c"
);
// 2 back-slashes
checkArgumentParsing
(
"\\\\?"
,
"\\\\?"
);
// 3 back-slashes
checkArgumentParsing
(
"\\\\\\?"
,
"\\\\\\?"
);
// 4 back-slashes
checkArgumentParsing
(
"\\\\\\\\?"
,
"\\\\\\\\?"
);
// 5 back-slashes
checkArgumentParsing
(
"\\\\\\\\\\?"
,
"\\\\\\\\\\?"
);
// 6 back-slashes
checkArgumentParsing
(
"\\\\\\\\\\\\?"
,
"\\\\\\\\\\\\?"
);
// more treatment of mixed slashes
checkArgumentParsing
(
"f1/ f3\\ f4/"
,
"f1/"
,
"f3\\"
,
"f4/"
);
checkArgumentParsing
(
"f1/ f2\' ' f3/ f4/"
,
"f1/"
,
"f2\'"
,
"'"
,
"f3/"
,
"f4/"
);
}
private
void
initEmptyDir
(
File
emptyDir
)
throws
IOException
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录