diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-10-07 20:06:26 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-10-07 20:57:58 +0900 |
| commit | 0e6c1a50260de141c50bb50fd3f2b2bcf9a3fe64 (patch) | |
| tree | dfe9c40ceb8c1be8d2728a2db9017bffef174d3d /container/initsymlink.go | |
| parent | d23b4dc9e64d3f00e746c65f3038a1a6de44b8f5 (diff) | |
container/check: move absolute pathname
This allows use of absolute pathname values without importing container.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/initsymlink.go')
| -rw-r--r-- | container/initsymlink.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/container/initsymlink.go b/container/initsymlink.go index 7bd71746..7d722d5b 100644 --- a/container/initsymlink.go +++ b/container/initsymlink.go @@ -4,19 +4,21 @@ import ( "encoding/gob" "fmt" "path" + + "hakurei.app/container/check" ) func init() { gob.Register(new(SymlinkOp)) } // Link appends an [Op] that creates a symlink in the container filesystem. -func (f *Ops) Link(target *Absolute, linkName string, dereference bool) *Ops { +func (f *Ops) Link(target *check.Absolute, linkName string, dereference bool) *Ops { *f = append(*f, &SymlinkOp{target, linkName, dereference}) return f } // SymlinkOp optionally dereferences LinkName and creates a symlink at container path Target. type SymlinkOp struct { - Target *Absolute + Target *check.Absolute // LinkName is an arbitrary uninterpreted pathname. LinkName string @@ -28,8 +30,8 @@ func (l *SymlinkOp) Valid() bool { return l != nil && l.Target != nil && l.LinkN func (l *SymlinkOp) early(_ *setupState, k syscallDispatcher) error { if l.Dereference { - if !isAbs(l.LinkName) { - return &AbsoluteError{l.LinkName} + if !path.IsAbs(l.LinkName) { + return &check.AbsoluteError{Pathname: l.LinkName} } if name, err := k.readlink(l.LinkName); err != nil { return err |
