Scott, I do not see where, after the sub-port has been closed that it is attempted to be used. Can you point it out, please? It looks to me like data-connect would reconnect the sub-port before it is used again.
Anton. > Carl Read wrote: > > Grrrr! > > Grrrr is right! > > You were correct in that the error occurs in the parse-dir-list > function in the > ftp protocol. The code closes the "port/sub-port" and then tries > to use that > port/sub-port specification. Whoops! > > The corrected function is as follows (as usual watch for line wraps): > > parse-dir-list: func [] [ > all [not passive not proxy listen-port port/sub-port: first > listen-port] > if all [not passive proxy listen-port] [ > net-utils/accept-proxy port/sub-port > ] > temp: 'list > file-list: make string! 2000 > while [line: system/words/pick port/sub-port 1] [append > file-list join > line "^/"] > net-utils/confirm/multiline port/locals/cmd-port transfer-check > if empty? file-list [ > data-connect > port/locals/dir-cache: system/words/copy [] > insert port/locals/cmd-port "NLST" > if (first system/words/pick port/locals/cmd-port 1) <> #"5" [ > while [line: system/words/pick port/sub-port 1] [ > append file-list join line "^/" > ] > temp: 'nlist > net-utils/confirm/multiline port/locals/cmd-port transfer-check > ] > system/words/close port/sub-port > port/locals/dir-cache: parse-files file-list temp > foreach temp [%./ %../] [ > if loc: find port/locals/dir-cache temp [loop 2 > [system/words/remove > loc]] > ] > port/state/tail: length? port/locals/dir-cache > ] > > My bindology skills are rusty at best, so perhaps a bindologist > would be so > kind as to create a patch for this. The way I do it, when I > forget bindology > (which is usually within two days of learning it), is to print > the network > scheme to disk, patch the scheme and then read it back in. > > One way to do this is to: > > 1) at a console prompt: > type "echo %/path-to-file/ftp-scheme.txt" > type "probe system/schemes/ftp" > type "quit" > 2) open the ftp-scheme.txt file and change the opening to read: > system/schemes/ftp: make object! [ > scheme: 'FTP > host: none ... > 3) replace the parse-dir-list function > 4) clean the ">> " from the end of the file and save. > 5) this file may be then pasted into a console or "do" the file > (adding a rebol > header) > > I look forward to seeing the "bind" version of the patch (I don't > have time to > refigure out the bind command again). > > Hope that helps! > > --Scott Jones -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
