summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/vfs/file.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-10-08 09:15:09 +0000
committerLibravatar GitHub <noreply@github.com>2024-10-08 11:15:09 +0200
commit2c3f1f4ddb3b91c9a70b929aed51b4bffcc6d6ee (patch)
tree35af97aa89abc9d6f0f73d8a4c554ac55a052e46 /vendor/github.com/ncruces/go-sqlite3/vfs/file.go
parent[feature] Distribute + ingest Accepts to followers (#3404) (diff)
downloadgotosocial-2c3f1f4ddb3b91c9a70b929aed51b4bffcc6d6ee.tar.xz
[chore] update go-sqlite3 to v0.19.0 (#3406)v0.17.0-rc2
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/vfs/file.go')
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/vfs/file.go19
1 files changed, 10 insertions, 9 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/vfs/file.go b/vendor/github.com/ncruces/go-sqlite3/vfs/file.go
index 176b2507b..ebd42e9ad 100644
--- a/vendor/github.com/ncruces/go-sqlite3/vfs/file.go
+++ b/vendor/github.com/ncruces/go-sqlite3/vfs/file.go
@@ -19,17 +19,18 @@ func (vfsOS) FullPathname(path string) (string, error) {
if err != nil {
return "", err
}
- fi, err := os.Lstat(path)
+ return path, testSymlinks(filepath.Dir(path))
+}
+
+func testSymlinks(path string) error {
+ p, err := filepath.EvalSymlinks(path)
if err != nil {
- if errors.Is(err, fs.ErrNotExist) {
- return path, nil
- }
- return "", err
+ return err
}
- if fi.Mode()&fs.ModeSymlink != 0 {
- err = _OK_SYMLINK
+ if p != path {
+ return _OK_SYMLINK
}
- return path, err
+ return nil
}
func (vfsOS) Delete(path string, syncDir bool) error {
@@ -74,7 +75,7 @@ func (vfsOS) Open(name string, flags OpenFlag) (File, OpenFlag, error) {
}
func (vfsOS) OpenFilename(name *Filename, flags OpenFlag) (File, OpenFlag, error) {
- var oflags int
+ oflags := _O_NOFOLLOW
if flags&OPEN_EXCLUSIVE != 0 {
oflags |= os.O_EXCL
}