7 unsigned int dns_domain_length(const char *dn
)
14 x
+= (unsigned int) c
;
18 void dns_domain_free(char **out
)
26 int dns_domain_copy(char **out
,const char *in
)
31 len
= dns_domain_length(in
);
35 if (*out
) alloc_free(*out
);
40 int dns_domain_equal(const char *dn1
,const char *dn2
)
44 len
= dns_domain_length(dn1
);
45 if (len
!= dns_domain_length(dn2
)) return 0;
47 if (case_diffb(dn1
,len
,dn2
)) return 0; /* safe since 63 < 'A' */
51 int dns_domain_suffix(const char *big
,const char *little
)
56 if (dns_domain_equal(big
,little
)) return 1;
63 unsigned int dns_domain_suffixpos(const char *big
,const char *little
)
65 const char *orig
= big
;
69 if (dns_domain_equal(big
,little
)) return big
- orig
;