]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
tolower function
authorMiek Gieben <miekg@NLnetLabs.nl>
Tue, 1 Mar 2005 12:13:44 +0000 (12:13 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Tue, 1 Mar 2005 12:13:44 +0000 (12:13 +0000)
dname.c
ldns/dname.h

diff --git a/dname.c b/dname.c
index d9490656fb7ae35672015b5a0d2a1c20c198d173..7c8e997cdc5fe126654cde661245270157539c0c 100644 (file)
--- 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;
+}
index ea052510fccdec334e18d92946323c1586e115d0..06fd00d5b0e02233564f827e330254fed9c3d407 100644 (file)
 
 #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 */