From: Kir Kolyshkin Date: Tue, 20 Aug 2024 00:29:19 +0000 (-0700) Subject: syscall: add O_DIRECTORY for wasip1 X-Git-Tag: go1.24rc1~1142 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c5a9c8d067d4695eaf5f6ce94a464f7fcdc07584;p=gostls13.git syscall: add O_DIRECTORY for wasip1 Change-Id: Iadd69360fb09714a280c4dae26639834df28a7dc Reviewed-on: https://go-review.googlesource.com/c/go/+/606659 LUCI-TryBot-Result: Go LUCI Auto-Submit: Ian Lance Taylor Reviewed-by: Ian Lance Taylor Reviewed-by: Tobias Klauser Reviewed-by: Cherry Mui --- diff --git a/src/syscall/fs_wasip1.go b/src/syscall/fs_wasip1.go index fc361ee898..c249891dd2 100644 --- a/src/syscall/fs_wasip1.go +++ b/src/syscall/fs_wasip1.go @@ -542,6 +542,14 @@ func Open(path string, openmode int, perm uint32) (int, error) { rights = fileRights } + if (openmode & O_DIRECTORY) != 0 { + if openmode&(O_WRONLY|O_RDWR) != 0 { + return -1, EISDIR + } + oflags |= OFLAG_DIRECTORY + rights &= dirRights + } + var fdflags fdflags if (openmode & O_APPEND) != 0 { fdflags |= FDFLAG_APPEND diff --git a/src/syscall/syscall_wasip1.go b/src/syscall/syscall_wasip1.go index bcf7676123..b98f99745f 100644 --- a/src/syscall/syscall_wasip1.go +++ b/src/syscall/syscall_wasip1.go @@ -216,12 +216,13 @@ const ( O_WRONLY = 1 O_RDWR = 2 - O_CREAT = 0100 - O_CREATE = O_CREAT - O_TRUNC = 01000 - O_APPEND = 02000 - O_EXCL = 0200 - O_SYNC = 010000 + O_CREAT = 0100 + O_CREATE = O_CREAT + O_TRUNC = 01000 + O_APPEND = 02000 + O_EXCL = 0200 + O_SYNC = 010000 + O_DIRECTORY = 020000 O_CLOEXEC = 0 )