From: Miek Gieben Date: Tue, 1 Mar 2005 12:13:44 +0000 (+0000) Subject: tolower function X-Git-Tag: release-0.50~335 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bbd0be919ce425418f1fb89b13be31f1d20f50e2;p=thirdparty%2Fldns.git tolower function --- diff --git a/dname.c b/dname.c index d9490656..7c8e997c 100644 --- a/dname.c +++ b/dname.c @@ -112,3 +112,27 @@ ldns_dname_new_frm_str(const char *str) return ldns_rdf_new_frm_str(str, LDNS_RDF_TYPE_DNAME); } + +/** + * Put a dname into canonical fmt - ie. lowercase it + * \param[in] rdf the dname to lowercase + * \return the lowercased dname + */ +ldns_rdf * +ldns_dname2canonical(const ldns_rdf *rd) +{ + ldns_rdf *new; + uint8_t *rdd; + uint16_t i; + + if (ldns_rdf_get_type(rd) != LDNS_RDF_TYPE_DNAME) { + return NULL; + } + + new = ldns_rdf_clone(rd); + rdd = (uint8_t*)ldns_rdf_data(rd); + for (i = 0; i < ldns_rdf_size(rd); i++, rdd++) { + DNAME_NORMALIZE(*rdd); + } + return new; +} diff --git a/ldns/dname.h b/ldns/dname.h index ea052510..06fd00d5 100644 --- a/ldns/dname.h +++ b/ldns/dname.h @@ -16,10 +16,12 @@ #include +#define DNAME_NORMALIZE tolower /* prototypes */ uint8_t ldns_rdf_dname_label_count(ldns_rdf *); ldns_rdf *ldns_dname_new_frm_str(const char *); ldns_rdf *ldns_dname_cat(ldns_rdf *, ldns_rdf *); +ldns_rdf *ldns_dname_canonical(ldns_rdf *); #endif /* !_LDNS_DNAME_H */