From: Michael Vogt Date: Tue, 20 May 2014 13:08:21 +0000 (+0200) Subject: add sorting by priority X-Git-Tag: 1.1.exp10~5^2~8 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/8194f97685b4af2bbf0cdbdc88fe5332ad147353 add sorting by priority --- diff --git a/apt-pkg/contrib/srvrec.cc b/apt-pkg/contrib/srvrec.cc index d5d89fc67..352a56970 100644 --- a/apt-pkg/contrib/srvrec.cc +++ b/apt-pkg/contrib/srvrec.cc @@ -12,6 +12,8 @@ #include #include +#include + #include #include "srvrec.h" @@ -89,5 +91,10 @@ bool GetSrvRecords(std::string name, std::vector &Result) Result.push_back(rec); } + // sort them + std::stable_sort(Result.begin(), Result.end()); + + // FIXME: implement weight selection as specified in RFC-2782 + return true; } diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h index 583907706..78d238c46 100644 --- a/apt-pkg/contrib/srvrec.h +++ b/apt-pkg/contrib/srvrec.h @@ -21,8 +21,9 @@ class SrvRec u_int16_t weight; u_int16_t port; - // see rfc-2782 - //int random; + bool operator<(SrvRec const &other) const { + return this->priority < other.priority; + } }; bool GetSrvRecords(std::string name, std::vector &Result);