On Fri, Apr 02, 2004 at 02:09:54PM +0100, Clemson, Chris wrote:
> oh sorry, is this any better?
> 2908 conn->quit_sent=true;
Yes, thanks! Here is a patch for the problem.
--
Alexander.
Index: ftpclass.cc
===================================================================
RCS file: /home/lav/cvsroot/lftp/src/ftpclass.cc,v
retrieving revision 1.303
diff -u -p -r1.303 ftpclass.cc
--- ftpclass.cc 2 Apr 2004 09:00:22 -0000 1.303
+++ ftpclass.cc 2 Apr 2004 13:03:16 -0000
@@ -2120,9 +2120,9 @@ int Ftp::Do()
if(conn->data_iobuf->Error())
{
DebugPrint("**** ",conn->data_iobuf->ErrorText(),0);
+ conn->quit_sent=true;
if(conn->data_iobuf->ErrorFatal())
SetError(FATAL,conn->data_iobuf->ErrorText());
- conn->quit_sent=true;
Disconnect();
return MOVED;
}
@@ -2463,9 +2463,9 @@ int Ftp::ReceiveResp()
if(conn->control_recv->Error())
{
DebugPrint("**** ",conn->control_recv->ErrorText(),0);
+ conn->quit_sent=true;
if(conn->control_recv->ErrorFatal())
SetError(FATAL,conn->control_recv->ErrorText());
- conn->quit_sent=true;
Disconnect();
return MOVED;
}
@@ -2601,7 +2601,7 @@ bool Ftp::HttpProxyReplyCheck(IOBuffer *
}
else if(buf->Eof())
DebugPrint("**** ",_("Peer closed connection"),0);
- if(buf->Eof() || buf->Error())
+ if(conn && (buf->Eof() || buf->Error()))
{
conn->quit_sent=true;
Disconnect();
@@ -2632,8 +2632,6 @@ bool Ftp::HttpProxyReplyCheck(IOBuffer *
return false;
}
SetError(FATAL,all_lines);
- conn->quit_sent=true;
- Disconnect();
return false;
}
}
@@ -2908,9 +2906,9 @@ int Ftp::FlushSendQueue(bool all)
if(conn->control_send->Error())
{
DebugPrint("**** ",conn->control_send->ErrorText(),0);
+ conn->quit_sent=true;
if(conn->control_send->ErrorFatal())
SetError(FATAL,conn->control_send->ErrorText());
- conn->quit_sent=true;
Disconnect();
return MOVED;
}