ww output: match Go exact -o parsing
This commit is contained in:
@@ -8853,19 +8853,25 @@ fn dobuild(selfdir: *u8, argv: **u8, argc: i32, start: i32) i32 = {
|
||||
};
|
||||
libs[nlibs] = nm;
|
||||
nlibs += 1;
|
||||
} else { if (p[1u64] == 111u8) { // '-o'
|
||||
if (p[2u64] != 0u8) {
|
||||
outflag = p + 2u64;
|
||||
} else { if (cstreqlit(p, "-o") || cstreqlit(p, "--o")
|
||||
|| (p[1u64] == 111u8 && p[2u64] == 61u8)
|
||||
|| (p[1u64] == 45u8 && p[2u64] == 111u8
|
||||
&& p[3u64] == 61u8)) {
|
||||
if (p[1u64] == 111u8 && p[2u64] == 61u8) {
|
||||
outflag = p + 3u64;
|
||||
} else { if (p[1u64] == 45u8
|
||||
&& p[2u64] == 111u8 && p[3u64] == 61u8) {
|
||||
outflag = p + 4u64;
|
||||
} else {
|
||||
if (i + 1 >= argc) {
|
||||
cerr("ww build: -o needs an argument\n");
|
||||
return 2;
|
||||
};
|
||||
i += 1;
|
||||
outflag = argv[i];
|
||||
};
|
||||
if (!clipathfits("build", "-o", outflag)) { return 2; };
|
||||
} else { if (p[1u64] == 119u8) { // '-w'
|
||||
outflag = argv[i];
|
||||
}; };
|
||||
if (!clipathfits("build", "-o", outflag)) { return 2; };
|
||||
} else { if (p[1u64] == 119u8) { // '-w'
|
||||
if (p[2u64] != 0u8) {
|
||||
workdir = p + 2u64;
|
||||
} else {
|
||||
@@ -8892,6 +8898,7 @@ fn dobuild(selfdir: *u8, argv: **u8, argc: i32, start: i32) i32 = {
|
||||
};
|
||||
i += 1;
|
||||
};
|
||||
if (outflag != nil && outflag[0u64] == 0u8) { outflag = nil; };
|
||||
|
||||
if (src == nil) {
|
||||
let dot: [2]u8 = ['.': u8, 0u8];
|
||||
@@ -9656,19 +9663,26 @@ fn dotest(selfdir: *u8, argv: **u8, argc: i32, start: i32) i32 = {
|
||||
&& ps.len > 12) {
|
||||
packageopts = true; i += 1; continue;
|
||||
};
|
||||
if (p[1u64] == 111u8) { // '-o'
|
||||
if (p[2u64] != 0u8) {
|
||||
outstem = p + 2u64;
|
||||
if (cstreqlit(p, "-o") || cstreqlit(p, "--o")
|
||||
|| (p[1u64] == 111u8 && p[2u64] == 61u8)
|
||||
|| (p[1u64] == 45u8 && p[2u64] == 111u8
|
||||
&& p[3u64] == 61u8)) {
|
||||
if (p[1u64] == 111u8 && p[2u64] == 61u8) {
|
||||
outstem = p + 3u64;
|
||||
} else { if (p[1u64] == 45u8
|
||||
&& p[2u64] == 111u8 && p[3u64] == 61u8) {
|
||||
outstem = p + 4u64;
|
||||
} else {
|
||||
if (i + 1 >= argc) {
|
||||
cerr("ww test: -o needs an argument\n");
|
||||
return 2;
|
||||
};
|
||||
i += 1;
|
||||
outstem = argv[i];
|
||||
outstem = argv[i];
|
||||
};
|
||||
if (!clipathfits("test", "-o", outstem)) { return 2; };
|
||||
i += 1; continue;
|
||||
};
|
||||
if (!clipathfits("test", "-o", outstem)) { return 2; };
|
||||
i += 1; continue;
|
||||
};
|
||||
if (p[1u64] == 119u8) { // '-w'
|
||||
if (p[2u64] != 0u8) {
|
||||
@@ -9691,6 +9705,7 @@ fn dotest(selfdir: *u8, argv: **u8, argc: i32, start: i32) i32 = {
|
||||
};
|
||||
i += 1;
|
||||
};
|
||||
if (outstem != nil && outstem[0u64] == 0u8) { outstem = nil; };
|
||||
if (target == nil) {
|
||||
let dot: [2]u8 = ['.': u8, 0u8];
|
||||
target = &dot[0];
|
||||
|
||||
Reference in New Issue
Block a user