fix compiler warning in the new mirror code
authorDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 9 Jun 2010 15:13:40 +0000 (17:13 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 9 Jun 2010 15:13:40 +0000 (17:13 +0200)
methods/http.h
methods/mirror.cc

index d0677bd..0bc019e 100644 (file)
@@ -13,7 +13,7 @@
 
 #define MAXLEN 360
 
-
+#include <apt-pkg/hashes.h>
 
 using std::cout;
 using std::endl;
index b2b6b2e..e8873d9 100644 (file)
@@ -153,11 +153,12 @@ void MirrorMethod::CurrentQueueUriToMirror()
       return;
 
    // find current mirror and select next one
-   for (int i=0; i < AllMirrors.size(); i++) 
+   for (vector<string>::const_iterator mirror = AllMirrors.begin();
+       mirror != AllMirrors.end(); ++mirror)
    {
-      if (Queue->Uri.find(AllMirrors[i]) == 0)
+      if (Queue->Uri.find(*mirror) == 0)
       {
-        Queue->Uri.replace(0, AllMirrors[i].size(), BaseUri);
+        Queue->Uri.replace(0, mirror->length(), BaseUri);
         return;
       }
    }
@@ -168,15 +169,19 @@ void MirrorMethod::CurrentQueueUriToMirror()
 bool MirrorMethod::TryNextMirror()
 {
    // find current mirror and select next one
-   for (int i=0; i < AllMirrors.size()-1; i++) 
+   for (vector<string>::const_iterator mirror = AllMirrors.begin();
+       mirror != AllMirrors.end(); ++mirror)
    {
-      if (Queue->Uri.find(AllMirrors[i]) == 0)
-      {
-        Queue->Uri.replace(0, AllMirrors[i].size(), AllMirrors[i+1]);
-        if (Debug)
-           clog << "TryNextMirror: " << Queue->Uri << endl;
-        return true;
-      }
+      if (Queue->Uri.find(*mirror) != 0)
+        continue;
+
+      vector<string>::const_iterator nextmirror = mirror + 1;
+      if (nextmirror != AllMirrors.end())
+        break;
+      Queue->Uri.replace(0, mirror->length(), *nextmirror);
+      if (Debug)
+        clog << "TryNextMirror: " << Queue->Uri << endl;
+      return true;
    }
 
    if (Debug)