When site.cc:load_site_list() added a mirror whose URL was already in the list, it put the new entry in the same position as the old. Remove the old entry and merge the new one instead. --- site.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/site.cc b/site.cc index 98dd756..1dd42d8 100644 --- a/site.cc +++ b/site.cc @@ -321,11 +321,9 @@ load_site_list (SiteList& theSites, char *theString) site_list_type newsite (bol, semi, semi2, semi3, true); SiteList::iterator i = find (theSites.begin(), theSites.end(), newsite); - if (i == theSites.end()) - merge_site (theSites, newsite); - else - //TODO: remove and remerge - *i = newsite; + if (i != theSites.end ()) + theSites.erase (i); + merge_site (theSites, newsite); } else { -- 2.15.1