fix create with github URL on windows (#10231)

* correctly ignore error on windows to match posix behavior

* replace zig accessat with bun.sys.existsAt

* fix posix build
This commit is contained in:
Georgijs
2024-04-12 17:12:44 -07:00
committed by GitHub
parent 472bd6c7de
commit 1820d08d25
2 changed files with 10 additions and 4 deletions

View File

@@ -1611,7 +1611,9 @@ pub const CreateCommand = struct {
const outdir_path = filesystem.absBuf(&parts, &home_dir_buf);
home_dir_buf[outdir_path.len] = 0;
const outdir_path_ = home_dir_buf[0..outdir_path.len :0];
std.fs.accessAbsoluteZ(outdir_path_, .{}) catch break :outer;
if (!bun.sys.existsAt(bun.invalid_fd, outdir_path_)) {
break :outer;
}
example_tag = Example.Tag.local_folder;
break :brk outdir_path;
}
@@ -1622,7 +1624,9 @@ pub const CreateCommand = struct {
const outdir_path = filesystem.absBuf(&parts, &home_dir_buf);
home_dir_buf[outdir_path.len] = 0;
const outdir_path_ = home_dir_buf[0..outdir_path.len :0];
std.fs.accessAbsoluteZ(outdir_path_, .{}) catch break :outer;
if (!bun.sys.existsAt(bun.invalid_fd, outdir_path_)) {
break :outer;
}
example_tag = Example.Tag.local_folder;
break :brk outdir_path;
}
@@ -1633,7 +1637,9 @@ pub const CreateCommand = struct {
const outdir_path = filesystem.absBuf(&parts, &home_dir_buf);
home_dir_buf[outdir_path.len] = 0;
const outdir_path_ = home_dir_buf[0..outdir_path.len :0];
std.fs.accessAbsoluteZ(outdir_path_, .{}) catch break :outer;
if (!bun.sys.existsAt(bun.invalid_fd, outdir_path_)) {
break :outer;
}
example_tag = Example.Tag.local_folder;
break :brk outdir_path;
}

View File

@@ -2120,7 +2120,7 @@ pub fn exists(path: []const u8) bool {
pub fn existsAt(fd: bun.FileDescriptor, subpath: []const u8) bool {
if (comptime Environment.isPosix) {
return system.faccessat(bun.toFD(fd), &(std.os.toPosixPath(subpath) catch return false), 0, 0) == 0;
return system.faccessat(fd.cast(), &(std.os.toPosixPath(subpath) catch return false), 0, 0) == 0;
}
if (comptime Environment.isWindows) {