sysfs: adds chmod (#1135)
This adds `FS.Chmod` and implements it for `GOOS=js`. This function isn't defined in WASI snapshot01, but it is in `wasi-filesystem`, e.g. `change-file-permissions-at`. Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package sysfs
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"io/fs"
|
||||
"os"
|
||||
"syscall"
|
||||
@@ -51,11 +50,17 @@ func (d *dirFS) OpenFile(name string, flag int, perm fs.FileMode) (fs.File, erro
|
||||
}
|
||||
|
||||
// Mkdir implements FS.Mkdir
|
||||
func (d *dirFS) Mkdir(name string, perm fs.FileMode) error {
|
||||
err := os.Mkdir(d.join(name), perm)
|
||||
if errors.Is(err, syscall.ENOTDIR) {
|
||||
return syscall.ENOENT
|
||||
func (d *dirFS) Mkdir(name string, perm fs.FileMode) (err error) {
|
||||
err = os.Mkdir(d.join(name), perm)
|
||||
if err = UnwrapOSError(err); err == syscall.ENOTDIR {
|
||||
err = syscall.ENOENT
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Chmod implements FS.Chmod
|
||||
func (d *dirFS) Chmod(name string, perm fs.FileMode) error {
|
||||
err := os.Chmod(d.join(name), perm)
|
||||
return UnwrapOSError(err)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user