From b3ff5413cc9e383af97fd3dfd41f8a323740e092 Mon Sep 17 00:00:00 2001
From: Thomas Bushnell <thomas@gnu.org>
Date: Wed, 11 Aug 1999 15:43:16 +0000
Subject: 1999-08-11  Thomas Bushnell, BSG  <tb@mit.edu>

	* open.c (ftp_conn_open): Ignore error from ftp_conn_sysify;
	it's ok if we can't successfully deal.  If we didn't sysify
	successfully before login, then try again afterwards.
---
 libftpconn/ChangeLog | 3 +++
 libftpconn/open.c    | 6 +++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

(limited to 'libftpconn')

diff --git a/libftpconn/ChangeLog b/libftpconn/ChangeLog
index af267360..4d5351ca 100644
--- a/libftpconn/ChangeLog
+++ b/libftpconn/ChangeLog
@@ -1,6 +1,9 @@
 1999-08-11  Thomas Bushnell, BSG  <tb@mit.edu>
 
 	* open.c (ftp_conn_sysify): Handle REPLY_NO_LOGIN from "syst".
+	(ftp_conn_open): Ignore error from ftp_conn_sysify; it's ok if we
+	can't successfully deal.  If we didn't sysify successfully before
+	login, then try again afterwards.
 
 1998-10-20  Roland McGrath  <roland@baalperazim.frob.com>
 
diff --git a/libftpconn/open.c b/libftpconn/open.c
index c3153669..d8a0a09a 100644
--- a/libftpconn/open.c
+++ b/libftpconn/open.c
@@ -216,12 +216,16 @@ ftp_conn_open (struct ftp_conn *conn)
 
   if (! err)
     /* Make any machine-dependent customizations.  */
-    err = ftp_conn_sysify (conn);
+    ftp_conn_sysify (conn);
 
   if (! err)
     /* login */
     err = ftp_conn_login (conn);
 
+  if (!err && !conn->syshooks_valid)
+    /* Try again now. */
+    ftp_conn_sysify (conn);
+
   if (!err && conn->type)
     /* Set the connection type.  */
     {
-- 
cgit v1.2.3