github.com/pkg/sftp@v1.13.6/server_plan9.go (about)

     1  package sftp
     2  
     3  import (
     4  	"path"
     5  	"path/filepath"
     6  )
     7  
     8  func (s *Server) toLocalPath(p string) string {
     9  	if s.workDir != "" && !path.IsAbs(p) {
    10  		p = path.Join(s.workDir, p)
    11  	}
    12  
    13  	lp := filepath.FromSlash(p)
    14  
    15  	if path.IsAbs(p) {
    16  		tmp := lp[1:]
    17  
    18  		if filepath.IsAbs(tmp) {
    19  			// If the FromSlash without any starting slashes is absolute,
    20  			// then we have a filepath encoded with a prefix '/'.
    21  			// e.g. "/#s/boot" to "#s/boot"
    22  			return tmp
    23  		}
    24  	}
    25  
    26  	return lp
    27  }