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...") );
__________________________


Reply via email to