More minor stuff: Job.cc: Free waiting on dtor.
Job.h: Make SetParentFg also Bg the job if the parent is Bg'd; in other words, make it always copy the fg/bg state from the parent, not just if the parent is Fg'd. Sorry for not being able to give examples of where these were problems; I waited too long before sending them. GetFileInfo.cc, GetFileInfo.h: fix comment. A couple bugs on b.debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=77866&repeatmerged=yes This is a year and a half old, and I've never seen this bug (and I've had the displeasure of connecting to very many War-FTPDs); I'd recommend against adding that check unless someone can confirm it's still out there. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=130920&repeatmerged=yes I can confirm that lftp is continuing completed transfers, downloading nothing. (Can't confirm the FXP bit; don't have any servers handy for that.) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=64529&repeatmerged=yes This one's very old, so probably is long gone if it ever existed. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=133546&repeatmerged=yes Never happened to me, and I've done both hundreds of times. (Hmm. If the sleep commands were in the queue, and *did* try to make a connection, they wouldn't need to; they'd have come up in the queue and have the connection from the last job. Sounds like he did something wrong.) -- Glenn Maynard
Index: Job.cc =================================================================== RCS file: /home/lav/cvsroot/lftp/src/Job.cc,v retrieving revision 1.25 diff -u -r1.25 Job.cc --- Job.cc 2002/03/15 14:27:26 1.25 +++ Job.cc 2002/04/17 20:10:39 @@ -53,7 +53,9 @@ Job::~Job() { - // first, reparent or kill children (hm, that's sadistic) + xfree(waiting); + + // reparent or kill children (hm, that's sadistic) { for(Job *scan=chain; scan; ) { Index: Job.h =================================================================== RCS file: /home/lav/cvsroot/lftp/src/Job.h,v retrieving revision 1.17 diff -u -r1.17 Job.h --- Job.h 2002/01/21 16:25:15 1.17 +++ Job.h 2002/04/17 20:10:39 @@ -61,8 +61,10 @@ void SetParentFg(Job *j, bool f=true) { SetParent(j); - if(j->fg && f) + if(f && j->fg) Fg(); + else if(f && !j->fg) + Bg(); } void AllocJobno(); Index: GetFileInfo.cc =================================================================== RCS file: /home/lav/cvsroot/lftp/src/GetFileInfo.cc,v retrieving revision 1.20 diff -u -r1.20 GetFileInfo.cc --- GetFileInfo.cc 2001/12/19 16:15:15 1.20 +++ GetFileInfo.cc 2002/04/17 20:10:40 @@ -242,7 +242,7 @@ if(res==FA::NO_FILE) { /* If this is a CWD to the parent, and it failed, we - * can't do GetArrayInfo. */ + * can't do GetInfoArray. */ if(!was_directory) tried_info=true; Index: GetFileInfo.h =================================================================== RCS file: /home/lav/cvsroot/lftp/src/GetFileInfo.h,v retrieving revision 1.7 diff -u -r1.7 GetFileInfo.h --- GetFileInfo.h 2002/01/21 16:25:15 1.7 +++ GetFileInfo.h 2002/04/17 20:10:40 @@ -50,7 +50,7 @@ bool tried_dir; /* and whether we've tried to cd to the basename (treating it as a file): */ bool tried_file; - /* and the last-ditch GetArrayInfo */ + /* and the last-ditch GetInfoArray */ bool tried_info; /* whether we found out the file type from cache */ bool from_cache;