Files
wazero/internal/platform/unlink_windows.go
2023-02-27 16:23:54 +09:00

26 lines
403 B
Go

//go:build windows
package platform
import (
"os"
"syscall"
)
func Unlink(name string) (err error) {
err = syscall.Unlink(name)
if err == nil {
return
}
err = UnwrapOSError(err)
if err == syscall.EPERM {
lstat, errLstat := os.Lstat(name)
if errLstat == nil && lstat.Mode()&os.ModeSymlink != 0 {
err = UnwrapOSError(os.Remove(name))
} else {
err = syscall.EISDIR
}
}
return
}