src/windows/bin/cmdtoargs.c
Print this page
@@ -126,12 +126,14 @@
}
if (quotes % 2 == 0) {
*wildcard = JNI_TRUE;
}
if (prev == '\\') {
+ for (i = 0 ; i < slashes ; i++) {
*dest++ = prev;
}
+ }
*dest++ = ch;
break;
default:
if (prev == '\\') {
@@ -182,11 +184,11 @@
src = next_arg(src, arg, &wildcard);
// resize to accommodate another Arg
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);
stdargc = nargs;
stdargs = argv;
@@ -600,10 +602,18 @@
v->add("a", FALSE);
v->add("b\\\\", FALSE);
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);
}
#endif /* IDE_STANDALONE */