mirror of https://github.com/golang/go.git
syscall: add O_DIRECTORY for js
Change-Id: I2022fa27b072f9b34413a04a794aeb6d3c02166c Reviewed-on: https://go-review.googlesource.com/c/go/+/606658 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry 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>
This commit is contained in:
parent
92dd05682c
commit
f0f4e2d0af
|
|
@ -23,12 +23,13 @@ var constants = jsFS.Get("constants")
|
|||
var uint8Array = js.Global().Get("Uint8Array")
|
||||
|
||||
var (
|
||||
nodeWRONLY = constants.Get("O_WRONLY").Int()
|
||||
nodeRDWR = constants.Get("O_RDWR").Int()
|
||||
nodeCREATE = constants.Get("O_CREAT").Int()
|
||||
nodeTRUNC = constants.Get("O_TRUNC").Int()
|
||||
nodeAPPEND = constants.Get("O_APPEND").Int()
|
||||
nodeEXCL = constants.Get("O_EXCL").Int()
|
||||
nodeWRONLY = constants.Get("O_WRONLY").Int()
|
||||
nodeRDWR = constants.Get("O_RDWR").Int()
|
||||
nodeCREATE = constants.Get("O_CREAT").Int()
|
||||
nodeTRUNC = constants.Get("O_TRUNC").Int()
|
||||
nodeAPPEND = constants.Get("O_APPEND").Int()
|
||||
nodeEXCL = constants.Get("O_EXCL").Int()
|
||||
nodeDIRECTORY = constants.Get("O_DIRECTORY").Int()
|
||||
)
|
||||
|
||||
type jsFile struct {
|
||||
|
|
@ -83,6 +84,9 @@ func Open(path string, openmode int, perm uint32) (int, error) {
|
|||
if openmode&O_SYNC != 0 {
|
||||
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)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -128,12 +128,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
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue