aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-01-10 03:00:25 -0500
committerGitHub <noreply@github.com>2020-01-10 03:00:25 -0500
commite06a6b9645827fa35cfa388bbea8813206d444ad (patch)
tree1ff5495d98532463e5557cbd236d6de126045726 /lib/std
parent3f98756f8542e5ca6b45322f17eb59b74706fb62 (diff)
parent03e1241b8828ff9e106d46862ca36fcd75cdc3c4 (diff)
downloadzig-e06a6b9645827fa35cfa388bbea8813206d444ad.tar.gz
zig-e06a6b9645827fa35cfa388bbea8813206d444ad.zip
Merge pull request #4129 from daurnimator/windows-child_process
Fix windows child process creation
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/child_process.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/std/child_process.zig b/lib/std/child_process.zig
index 02d8693e2c..6106a88942 100644
--- a/lib/std/child_process.zig
+++ b/lib/std/child_process.zig
@@ -634,12 +634,12 @@ pub const ChildProcess = struct {
var it = mem.tokenize(PATH, ";");
retry: while (it.next()) |search_path| {
+ const path_no_ext = try fs.path.join(self.allocator, &[_][]const u8{ search_path, app_name });
+ defer self.allocator.free(path_no_ext);
+
var ext_it = mem.tokenize(PATHEXT, ";");
while (ext_it.next()) |app_ext| {
- const app_basename = try mem.concat(self.allocator, u8, &[_][]const u8{ app_name[0 .. app_name.len - 1], app_ext });
- defer self.allocator.free(app_basename);
-
- const joined_path = try fs.path.join(self.allocator, &[_][]const u8{ search_path, app_basename });
+ const joined_path = try mem.concat(self.allocator, u8, &[_][]const u8{ path_no_ext, app_ext });
defer self.allocator.free(joined_path);
const joined_path_w = try unicode.utf8ToUtf16LeWithNull(self.allocator, joined_path);