diff options
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go')
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go b/vendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go index 0398f4760..ecce3cfa2 100644 --- a/vendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go +++ b/vendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go @@ -9,6 +9,23 @@ import ( "golang.org/x/sys/windows" ) +func osReadAt(file *os.File, p []byte, off int64) (int, error) { + return file.ReadAt(p, off) +} + +func osWriteAt(file *os.File, p []byte, off int64) (int, error) { + n, err := file.WriteAt(p, off) + if errno, ok := err.(windows.Errno); ok { + switch errno { + case + windows.ERROR_HANDLE_DISK_FULL, + windows.ERROR_DISK_FULL: + return n, _FULL + } + } + return n, err +} + func osGetSharedLock(file *os.File) _ErrorCode { // Acquire the PENDING lock temporarily before acquiring a new SHARED lock. rc := osReadLock(file, _PENDING_BYTE, 1, 0) |
