summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go
diff options
context:
space:
mode:
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.go17
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)