]> git.sesse.net Git - cubemap/blob - sa_compare.cpp
Remove the Metacube VLC patch; it is now upstream.
[cubemap] / sa_compare.cpp
1 #include "sa_compare.h"
2
3 #include <arpa/inet.h>
4 #include <assert.h>
5 #include <string.h>
6
7 bool Sockaddr6Compare::operator() (const sockaddr_in6 &a, const sockaddr_in6 &b) const
8 {
9         assert(a.sin6_family == AF_INET6);
10         assert(b.sin6_family == AF_INET6);
11         int addr_cmp = memcmp(&a.sin6_addr, &b.sin6_addr, sizeof(a.sin6_addr));
12         if (addr_cmp == 0) {
13                 return (ntohs(a.sin6_port) < ntohs(b.sin6_port));
14         } else {
15                 return (addr_cmp < 0);
16         }
17 }