X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/76d97c26ae8ca9d55c1e44a13eb0a013f0adc592..f17ac0977167d1e58316d3b3f7159f65d40a090a:/apt-pkg/acquire-method.cc diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc index b0176d3cb..9bb76e53c 100644 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acquire-method.cc,v 1.13 1998/12/05 01:45:19 jgg Exp $ +// $Id: acquire-method.cc,v 1.17 1999/02/08 07:30:49 jgg Exp $ /* ###################################################################### Acquire Method @@ -14,10 +14,11 @@ #include #include #include -#include +#include #include #include +#include /*}}}*/ // AcqMethod::pkgAcqMethod - Constructor /*{{{*/ @@ -47,8 +48,9 @@ pkgAcqMethod::pkgAcqMethod(const char *Ver,unsigned long Flags) exit(100); SetNonBlock(STDIN_FILENO,true); - + Queue = 0; + QueueBack = 0; } /*}}}*/ // AcqMethod::Fail - A fetch has failed /*{{{*/ @@ -78,6 +80,8 @@ void pkgAcqMethod::Fail(string Err,bool Transient) FetchItem *Tmp = Queue; Queue = Queue->Next; delete Tmp; + if (Tmp == QueueBack) + QueueBack = Queue; } else snprintf(S,sizeof(S),"400 URI Failure\nURI: \n" @@ -145,7 +149,7 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) TimeRFC1123(Res.LastModified).c_str()); if (Res.MD5Sum.empty() == false) - End += snprintf(End,sizeof(S) - (End - S),"MD5Sum: %s\n",Res.MD5Sum.c_str()); + End += snprintf(End,sizeof(S) - (End - S),"MD5-Hash: %s\n",Res.MD5Sum.c_str()); if (Res.ResumePoint != 0) End += snprintf(End,sizeof(S) - (End - S),"Resume-Point: %u\n", @@ -168,7 +172,7 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) TimeRFC1123(Alt->LastModified).c_str()); if (Alt->MD5Sum.empty() == false) - End += snprintf(End,sizeof(S) - (End - S),"Alt-MD5Sum: %s\n", + End += snprintf(End,sizeof(S) - (End - S),"Alt-MD5-Hash: %s\n", Alt->MD5Sum.c_str()); if (Alt->IMSHit == true) @@ -183,6 +187,8 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) FetchItem *Tmp = Queue; Queue = Queue->Next; delete Tmp; + if (Tmp == QueueBack) + QueueBack = Queue; } /*}}}*/ // AcqMethod::MediaFail - Syncronous request for new media /*{{{*/ @@ -328,7 +334,9 @@ int pkgAcqMethod::Run(bool Single) FetchItem **I = &Queue; for (; *I != 0; I = &(*I)->Next); *I = Tmp; - + if (QueueBack == 0) + QueueBack = Tmp; + // Notify that this item is to be fetched. if (Fetch(Tmp) == false) Fail();