8006536: [launcher] removes trailing slashes on arguments
Reviewed-by: ksrini, akhil
This commit is contained in:
parent
d0830009e8
commit
38f3a59c9a
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2013, 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
|
||||
@ -104,6 +104,11 @@ static char* next_arg(char* cmdline, char* arg, jboolean* wildcard) {
|
||||
|
||||
case ' ':
|
||||
case '\t':
|
||||
if (prev == '\\') {
|
||||
for (i = 0 ; i < slashes; i++) {
|
||||
*dest++ = prev;
|
||||
}
|
||||
}
|
||||
if (quotes % 2 == 1) {
|
||||
*dest++ = ch;
|
||||
} else {
|
||||
@ -591,6 +596,12 @@ int main(int argc, char* argv[]) {
|
||||
// v->disable();
|
||||
vectors[i++] = v;
|
||||
|
||||
v= new Vector(argv[0], "a b\\\\ d");
|
||||
v->add("a", FALSE);
|
||||
v->add("b\\\\", FALSE);
|
||||
v->add("d", FALSE);
|
||||
vectors[i++] = v;
|
||||
|
||||
dotest(vectors);
|
||||
printf("All tests pass [%d]\n", i);
|
||||
doexit(0);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2013, 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
|
||||
@ -309,6 +309,7 @@ public class Arrrghs extends TestHelper {
|
||||
checkArgumentParsing("../../*", "../../*");
|
||||
checkArgumentParsing("..\\..\\", "..\\..\\");
|
||||
checkArgumentParsing("../../", "../../");
|
||||
checkArgumentParsing("a b\\ c", "a", "b\\", "c");
|
||||
}
|
||||
|
||||
private void initEmptyDir(File emptyDir) throws IOException {
|
||||
|
Loading…
Reference in New Issue
Block a user