]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
conversion2str for A
authorMiek Gieben <miekg@NLnetLabs.nl>
Tue, 21 Dec 2004 13:17:13 +0000 (13:17 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Tue, 21 Dec 2004 13:17:13 +0000 (13:17 +0000)
host2str.c
ldns/host2str.h

index 6cfa7e23ad3d6310846d7a20804643e918a442fb..25465a016e8403f334729b51ae6e9de637c93626 100644 (file)
 
 #include <limits.h>
 
+#include <sys/socket.h>
+#include <arpa/inet.h>
+
+
+
+
 #include <ldns/host2str.h>
 
 #include "util.h"
@@ -81,7 +87,7 @@ ldns_rdf2str(ldns_rdf *rdf)
 {
        char *res = NULL;
 
-       switch(rdf->_type) {
+       switch(ldns_rdf_get_type(rdf)) {
        case LDNS_RDF_TYPE_NONE:
                res = XMALLOC(char, 5);
                snprintf(res, 5, "NONE");
@@ -106,8 +112,7 @@ ldns_rdf2str(ldns_rdf *rdf)
                snprintf(res, 6, "INT48");
                break;
        case LDNS_RDF_TYPE_A:
-               res = XMALLOC(char, 5);
-               snprintf(res, 5, "NONE");
+               res = ldns_conv_a(rdf);
                break;
        case LDNS_RDF_TYPE_AAAA:
                res = XMALLOC(char, 5);
@@ -166,7 +171,23 @@ ldns_rdf2str(ldns_rdf *rdf)
                snprintf(res, 5, "NONE");
                break;
        }
-       
        return res;
 }
 
+/** 
+ * convert A address 
+ */
+char *
+ldns_conv_a(ldns_rdf *rd)
+{
+       char *r;
+
+       r = XMALLOC(char, INET_ADDRSTRLEN);
+
+       if (!inet_ntop(AF_INET, ldns_rdf_data(rd), r, INET_ADDRSTRLEN)) {
+               /* somehting is wrong */
+               /* TODO NULL HERE??? */
+               return NULL;
+       }
+       return r;
+}
index 36783e8dad176b8e325da483454b4ba04bfd842e..bba00440703fe0f4585b802343c588ff9003a04b 100644 (file)
@@ -10,7 +10,8 @@
 #include <ldns/buffer.h>
 #include <ctype.h>
 
-char *ldns_rdf2str(ldns_rdf *rdf);
+char *ldns_rdf2str(ldns_rdf *);
+char *ldns_conv_a(ldns_rdf *);
 
 #endif