diff options
author | 2024-10-08 09:15:09 +0000 | |
---|---|---|
committer | 2024-10-08 11:15:09 +0200 | |
commit | 2c3f1f4ddb3b91c9a70b929aed51b4bffcc6d6ee (patch) | |
tree | 35af97aa89abc9d6f0f73d8a4c554ac55a052e46 /vendor/github.com/ncruces/go-sqlite3/vfs/file.go | |
parent | [feature] Distribute + ingest Accepts to followers (#3404) (diff) | |
download | gotosocial-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.go | 19 |
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 } |