os: log stderr from open command

This commit is contained in:
Gregory Anders
2024-05-19 08:59:57 -05:00
parent f72c2ac615
commit e710a59a43

View File

@ -13,5 +13,24 @@ pub fn open(alloc: Allocator, url: []const u8) !void {
};
var exe = std.process.Child.init(argv, alloc);
try exe.spawn();
// Pipe stdout/stderr so we can collect output from the command
exe.stdout_behavior = .Pipe;
exe.stderr_behavior = .Pipe;
var stdout = std.ArrayList(u8).init(alloc);
var stderr = std.ArrayList(u8).init(alloc);
defer {
stdout.deinit();
stderr.deinit();
}
try exe.spawn();
// 50 KiB is the default value used by std.process.Child.run
try exe.collectOutput(&stdout, &stderr, 50 * 1024);
_ = try exe.wait();
if (stderr.items.len > 0) {
std.log.err("os.open: {s}", .{stderr.items});
}
}