diff options
Diffstat (limited to 'sysdeps/posix/getaddrinfo.c')
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 9387e20..84a6293 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -1395,10 +1395,10 @@ rfc3484_sort (const void *p1, const void *p2) { if (!(a1->source_addr_flags & in6ai_homeaddress) && (a2->source_addr_flags & in6ai_homeaddress)) - return -1; + return 1; if ((a1->source_addr_flags & in6ai_homeaddress) && !(a2->source_addr_flags & in6ai_homeaddress)) - return 1; + return -1; } /* Rule 5: Prefer matching label. */ @@ -1435,11 +1435,11 @@ rfc3484_sort (const void *p1, const void *p2) if (a1->got_source_addr) { if (!(a1->source_addr_flags & in6ai_temporary) - && (a1->source_addr_flags & in6ai_temporary)) + && (a2->source_addr_flags & in6ai_temporary)) return -1; if ((a1->source_addr_flags & in6ai_temporary) - && !(a1->source_addr_flags & in6ai_temporary)) - return -1; + && !(a2->source_addr_flags & in6ai_temporary)) + return 1; /* XXX Do we need to check anything beside temporary addresses? */ } |