!r is the same r == 0, so this was short-circuiting the comparison when
streq(a->iff, b->iff) or streq(a->off, b->off). Before the parent commit which
moved those comparisons to the end, this was short-circuiting quite a bit
of the comparison function.
(cherry picked from commit
314ed4f9948bb73300862935546a63294bba1d5c)
(cherry picked from commit
19ac31c989d9facbd90c497f3708ee4d88686de8)
Gbp-Pq: Name networkd-unbreak-routing_policy_rule_compare_func.patch
return r;
r = strcmp_ptr(a->iif, b->iif);
- if (!r)
+ if (r != 0)
return r;
r = strcmp_ptr(a->oif, b->oif);
- if (!r)
+ if (r != 0)
return r;
r = CMP(a->protocol, b->protocol);