This commit is contained in:
Kovid Goyal 2026-04-24 14:37:34 +05:30
parent ca7388c145
commit 0f81bca430
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
2 changed files with 8 additions and 4 deletions

View file

@ -150,10 +150,7 @@ func (d *remote_dir_entry) add_remote_data(data []byte, output_buf []byte, has_m
return derr
}
} else { // directory
if derr := utils.MkdirAt(d.base_dir.handle, d.name, 0o755); derr != nil {
return derr
}
if f, derr := utils.OpenAt(d.base_dir.handle, d.name); derr != nil {
if f, derr := utils.CreateDirAt(d.base_dir.handle, d.name, 0o755); derr != nil {
return derr
} else {
handle := new_dir_handle(f)

View file

@ -77,6 +77,13 @@ func CreateAt(dirFile *os.File, name string) (*os.File, error) {
return openAt(dirFile, name, unix.O_RDWR|unix.O_CREAT|unix.O_TRUNC, 0666)
}
func CreateDirAt(parent *os.File, name string, permissions os.FileMode) (*os.File, error) {
if err := MkdirAt(parent, name, permissions); err != nil {
return nil, err
}
return OpenDirAt(parent, name)
}
// Internal helper to wrap the unix.Openat syscall
func openAt(dirFile *os.File, name string, flags int, perm os.FileMode) (ans *os.File, err error) {
dirFd := int(dirFile.Fd())