]> git.saurik.com Git - apt.git/blobdiff - methods/mirror.cc
* mirror method:
[apt.git] / methods / mirror.cc
index e8873d97b099f892c5d636d44982760ecd683d0d..5a53d3c819fd44606f96dc03ecfb136b895c23cf 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,11 +181,15 @@ 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)
         clog << "TryNextMirror: " << Queue->Uri << endl;
+
+      // inform parent
+      UsedMirror = *nextmirror;
+      Log("Switching mirror");
       return true;
    }