DRYer
This commit is contained in:
parent
ca7388c145
commit
0f81bca430
2 changed files with 8 additions and 4 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
Loading…
Reference in a new issue