Hello, Pavel!
Could you please revievew this patch?
MC cannot use FiSH on a host running bash-2.04 over OpenSSH-2.5.2p2.
Apparently it's confused by the error message from running
start_fish_server.
fonzie$ ssh bean
bean$ start_fish_server
bash: start_fish_server: command not found
I understand that start_fish_server is a hook that makes it possible to
use a specially written server instead of a shell. How important is stderr
from that server? I'd like to redirect it to stdout (or even to
/dev/null), but if you need it I'll consider something else.
I understand that stdout and stderr are transferred separately. and the
error from start_fish_server is not guaranteed to arrive before '### 200'
That probably explains why FiSH _sometimes_ works.
--
Regards,
Pavel Roskin
__________________________
--- vfs/ChangeLog
+++ vfs/ChangeLog
@@ -1 +1,6 @@
+2001-04-17 Pavel Roskin <[EMAIL PROTECTED]>
+
+ * fish.c (open_archive_int): Redirect stderr of start_fish_server
+ to stdout so we don't get confused if it doesn't exist.
+
2001-04-09 Andrew V. Samoilov <[EMAIL PROTECTED]>
--- vfs/fish.c
+++ vfs/fish.c
@@ -246,7 +246,13 @@ open_archive_int (vfs *me, vfs_s_super *
}
print_vfs_message( _("fish: Sending initial line...") );
- if (command (me, super, WAIT_REPLY, "#FISH\necho; start_fish_server; echo '###
200'\n") != COMPLETE)
+ /*
+ * Run `start_fish_server'. If it doesn't exist - no problem,
+ * we'll talk directly to the shell.
+ */
+ if (command (me, super, WAIT_REPLY,
+ "#FISH\necho; start_fish_server 2>&1;"
+ " echo '### 200'\n") != COMPLETE)
ERRNOR (E_PROTO, -1);
print_vfs_message( _("fish: Handshaking version...") );
__________________________