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;
+}
#include <ldns/common.h>
+#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 */