#include <time.h>
#include <algorithm>
+#include <tuple>
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
#include "srvrec.h"
+bool SrvRec::operator==(SrvRec const &other) const
+{
+ return (std::tie(target, priority, weight, port) ==
+ std::tie(other.target, other.priority, other.weight, other.port));
+}
+
bool GetSrvRecords(std::string host, int port, std::vector<SrvRec> &Result)
{
std::string target;
[&I](SrvRec const &J) { return I->priority != J.priority; });
// clock seems random enough.
- I += clock() % std::distance(I, J);
+ I += std::max(static_cast<clock_t>(0), clock()) % std::distance(I, J);
SrvRec const selected = std::move(*I);
Recs.erase(I);