methods/mirror.cc: improve debug output and fix selecting the next mirror
authorMichael Vogt <michael.vogt@ubuntu.com>
Fri, 11 Mar 2011 12:53:50 +0000 (13:53 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Fri, 11 Mar 2011 12:53:50 +0000 (13:53 +0100)
methods/mirror.cc

index e8873d9..d092cc6 100644 (file)
@@ -125,20 +125,25 @@ bool MirrorMethod::Clean(string Dir)
 
 bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str)
 {
-   if(Debug)
-      clog << "MirrorMethod::DownloadMirrorFile(): " << endl;
-
    // not that great to use pkgAcquire here, but we do not have 
    // any other way right now
    string fetch = BaseUri;
    fetch.replace(0,strlen("mirror://"),"http://");
 
+   if(Debug)
+      clog << "MirrorMethod::DownloadMirrorFile(): '" << fetch << "'"
+           << " to " << MirrorFile << endl;
+
    pkgAcquire Fetcher;
    new pkgAcqFile(&Fetcher, fetch, "", 0, "", "", "", MirrorFile);
    bool res = (Fetcher.Run() == pkgAcquire::Continue);
    if(res)
       DownloadedMirrorFile = true;
    Fetcher.Shutdown();
+
+   if(Debug)
+      clog << "MirrorMethod::DownloadMirrorFile() success: " << res << endl;
+   
    return res;
 }
 
@@ -176,7 +181,7 @@ bool MirrorMethod::TryNextMirror()
         continue;
 
       vector<string>::const_iterator nextmirror = mirror + 1;
-      if (nextmirror != AllMirrors.end())
+      if (nextmirror == AllMirrors.end())
         break;
       Queue->Uri.replace(0, mirror->length(), *nextmirror);
       if (Debug)