8000 Merge pull request #317 from pkg/revert-313-master · etherscan-io/sftp@4033788 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4033788

Browse files
authored
Merge pull request pkg#317 from pkg/revert-313-master
Revert "Bug: windows specific issue on request-server.go"
2 parents 7324135 + 5a3a757 commit 4033788

File tree

2 files changed

+13
-19
lines changed

2 files changed

+13
-19
lines changed

request-example.go

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func (fs *root) Filewrite(r *Request) (io.WriterAt, error) {
5656
defer fs.filesLock.Unlock()
5757
file, err := fs.fetch(r.Filepath)
5858
if err == os.ErrNotExist {
59-
dir, err := fs.fetch(dir(r.Filepath))
59+
dir, err := fs.fetch(filepath.Dir(r.Filepath))
6060
if err != nil {
6161
return nil, err
6262
}
@@ -102,7 +102,7 @@ func (fs *root) Filecmd(r *Request) error {
102102
}
103103
}
104104
case "Rmdir", "Remove":
105-
file, err := fs.fetch(dir(r.Filepath))
105+
file, err := fs.fetch(filepath.Dir(r.Filepath))
106106
if err != nil {
107107
return err
108108
}
@@ -122,7 +122,7 @@ func (fs *root) Filecmd(r *Request) error {
122122
delete(fs.files, r.Filepath)
123123

124124
case "Mkdir":
125-
_, err := fs.fetch(dir(r.Filepath))
125+
_, err := fs.fetch(filepath.Dir(r.Filepath))
126126
if err != nil {
127127
return err
128128
}
@@ -183,7 +183,7 @@ func (fs *root) Filelist(r *Request) (ListerAt, error) {
183183
}
184184
orderedNames := []string{}
185185
for fn := range fs.files {
186-
if dir(fn) == r.Filepath {
186+
if filepath.Dir(fn) == r.Filepath {
187187
orderedNames = append(orderedNames, fn)
188188
}
189189
}
@@ -305,14 +305,3 @@ func (f *memFile) WriteAt(p []byte, off int64) (int, error) {
305305
func (f *memFile) TransferError(err error) {
306306
f.transferError = err
307307
}
308-
309-
func dir(path string) string {
310-
i := len(path) - 1
311-
for i >= 0 && !os.IsPathSeparator(path[i]) {
312-
i--
313-
}
314-
if i == 0 {
315-
return path[:i+1]
316-
}
317-
return path[:i]
318-
}

request-server.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,15 @@ func (rs *RequestServer) packetWorker(
190190
request = NewRequest("Stat", request.Filepath)
191191
rpkt = request.call(rs.Handlers, pkt)
192192
}
193-
case *sshFxpExtendedPacketPosixRename:
194-
request := NewRequest("Rename", pkt.Oldpath)
195-
request.Target = pkt.Newpath
196-
rpkt = request.call(rs.Handlers, pkt)
193+
case *sshFxpExtendedPacket:
194+
switch expkt := pkt.SpecificPacket.(type) {
195+
default:
196+
rpkt = statusFromError(pkt, ErrSSHFxOpUnsupported)
197+
case *sshFxpExtendedPacketPosixRename:
198+
request := NewRequest("Rename", expkt.Oldpath)
199+
request.Target = expkt.Newpath
200+
rpkt = request.call(rs.Handlers, pkt)
201+
}
197202
case hasHandle:
198203
handle := pkt.getHandle()
199204
request, ok := rs.getRequest(handle)

0 commit comments

Comments
 (0)
0