diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/fusefrontend_reverse/rfs.go | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/internal/fusefrontend_reverse/rfs.go b/internal/fusefrontend_reverse/rfs.go index f9a2979..a3a3d3b 100644 --- a/internal/fusefrontend_reverse/rfs.go +++ b/internal/fusefrontend_reverse/rfs.go @@ -221,6 +221,16 @@ func (rfs *ReverseFS) GetAttr(relPath string, context *fuse.Context) (*fuse.Attr  	// Calculate encrypted file size  	if a.IsRegular() {  		a.Size = rfs.contentEnc.PlainSizeToCipherSize(a.Size) +	} else if a.IsSymlink() { +		var linkTarget string +		var readlinkStatus fuse.Status + +		linkTarget, readlinkStatus = rfs.Readlink(relPath, context) +		if !readlinkStatus.Ok() { +			return nil, readlinkStatus +		} + +		a.Size = uint64(len(linkTarget))  	}  	return a, fuse.OK  } | 
