if (r1->sourcemask != r2->sourcemask)
return r1->sourcemask - r2->sourcemask;
+ if (r1->table != r2->table)
+ return r1->table - r2->table;
+
int maskcmp = memcmp(&r1->source, &r2->source, sizeof(r1->source));
if (maskcmp)
return maskcmp;
if (!str)
continue;
- if (s->af == AF_INET6 && IN6_IS_ADDR_LINKLOCAL(&s->addr))
+ if (s->af == AF_INET6 && IN6_IS_ADDR_LINKLOCAL(&s->addr.in6))
fprintf(f, "nameserver %s%%%s\n", str, dev);
else
fprintf(f, "nameserver %s\n", str);