Skip to content
Snippets Groups Projects
Commit f0f4e2d0 authored by Kir Kolyshkin's avatar Kir Kolyshkin Committed by Gopher Robot
Browse files

syscall: add O_DIRECTORY for js

Change-Id: I2022fa27b072f9b34413a04a794aeb6d3c02166c
Reviewed-on: https://go-review.googlesource.com/c/go/+/606658


Reviewed-by: default avatarIan Lance Taylor <iant@google.com>
Reviewed-by: default avatarCherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
parent 92dd0568
No related branches found
No related tags found
No related merge requests found
...@@ -23,12 +23,13 @@ var constants = jsFS.Get("constants") ...@@ -23,12 +23,13 @@ var constants = jsFS.Get("constants")
var uint8Array = js.Global().Get("Uint8Array") var uint8Array = js.Global().Get("Uint8Array")
var ( var (
nodeWRONLY = constants.Get("O_WRONLY").Int() nodeWRONLY = constants.Get("O_WRONLY").Int()
nodeRDWR = constants.Get("O_RDWR").Int() nodeRDWR = constants.Get("O_RDWR").Int()
nodeCREATE = constants.Get("O_CREAT").Int() nodeCREATE = constants.Get("O_CREAT").Int()
nodeTRUNC = constants.Get("O_TRUNC").Int() nodeTRUNC = constants.Get("O_TRUNC").Int()
nodeAPPEND = constants.Get("O_APPEND").Int() nodeAPPEND = constants.Get("O_APPEND").Int()
nodeEXCL = constants.Get("O_EXCL").Int() nodeEXCL = constants.Get("O_EXCL").Int()
nodeDIRECTORY = constants.Get("O_DIRECTORY").Int()
) )
type jsFile struct { type jsFile struct {
...@@ -83,6 +84,9 @@ func Open(path string, openmode int, perm uint32) (int, error) { ...@@ -83,6 +84,9 @@ func Open(path string, openmode int, perm uint32) (int, error) {
if openmode&O_SYNC != 0 { if openmode&O_SYNC != 0 {
return 0, errors.New("syscall.Open: O_SYNC is not supported by js/wasm") return 0, errors.New("syscall.Open: O_SYNC is not supported by js/wasm")
} }
if openmode&O_DIRECTORY != 0 {
flags |= nodeDIRECTORY
}
jsFD, err := fsCall("open", path, flags, perm) jsFD, err := fsCall("open", path, flags, perm)
if err != nil { if err != nil {
......
...@@ -128,12 +128,13 @@ const ( ...@@ -128,12 +128,13 @@ const (
O_WRONLY = 1 O_WRONLY = 1
O_RDWR = 2 O_RDWR = 2
O_CREAT = 0100 O_CREAT = 0100
O_CREATE = O_CREAT O_CREATE = O_CREAT
O_TRUNC = 01000 O_TRUNC = 01000
O_APPEND = 02000 O_APPEND = 02000
O_EXCL = 0200 O_EXCL = 0200
O_SYNC = 010000 O_SYNC = 010000
O_DIRECTORY = 020000
O_CLOEXEC = 0 O_CLOEXEC = 0
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment