From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17778 invoked by alias); 6 Dec 2017 20:46:43 -0000 Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com Received: (qmail 17750 invoked by uid 89); 6 Dec 2017 20:46:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= X-HELO: limerock03.mail.cornell.edu Received: from limerock03.mail.cornell.edu (HELO limerock03.mail.cornell.edu) (128.84.13.243) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 06 Dec 2017 20:46:41 +0000 X-CornellRouted: This message has been Routed already. Received: from authusersmtp.mail.cornell.edu (granite4.serverfarm.cornell.edu [10.16.197.9]) by limerock03.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id vB6Kkdrx002130; Wed, 6 Dec 2017 15:46:39 -0500 Received: from nothing.nyroc.rr.com (mta-68-175-129-7.twcny.rr.com [68.175.129.7] (may be forged)) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id vB6Kjxr1011833 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 6 Dec 2017 15:46:38 -0500 From: Ken Brown To: cygwin-apps@cygwin.com Subject: [PATCH setup v3 5/6] Keep the mirror list sorted properly Date: Wed, 06 Dec 2017 20:46:00 -0000 Message-Id: <20171206204559.4756-6-kbrown@cornell.edu> In-Reply-To: <20171206204559.4756-1-kbrown@cornell.edu> References: <20171206204559.4756-1-kbrown@cornell.edu> X-PMX-Cornell-Gauge: Gauge=XXXXX X-PMX-CORNELL-AUTH-RESULTS: dkim-out=none; X-IsSubscribed: yes X-SW-Source: 2017-12/txt/msg00030.txt.bz2 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