]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
mem stuff and naming
authorMiek Gieben <miekg@NLnetLabs.nl>
Thu, 9 Jun 2005 09:33:56 +0000 (09:33 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Thu, 9 Jun 2005 09:33:56 +0000 (09:33 +0000)
doc/function_manpages
ldns/packet.h
ldns/resolver.h
ldns/rr.h
packet.c
resolver.c
rr.c

index b0a31c3f8040e2da8f6fbb9d432f5a5c2817f4a6..6fa2940ec49daa9942823c192d2a1a8c4cabad21 100644 (file)
@@ -112,11 +112,9 @@ ldns_pkt, ldns_pkt_section, ldns_pkt_type | ldns_pkt_new, ldns_pkt_id, ldns_pkt_
 ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new,  ldns_pkt_query_new_frm_str, ldns_pkt_reply_type | ldns_pkt
 
 #      gets
-ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_opcode, ldns_pkt_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_when, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_xxsection, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type | ldns_pkt
-
+ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_opcode, ldns_pkt_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_when, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type | ldns_pkt 
 #      sets
-ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_when, ldns_pkt_set_xxcount, ldns_pkt_set_tsig | ldns_pkt
-
+ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_when, ldns_pkt_set_section_count, ldns_pkt_set_tsig | ldns_pkt 
 #      EDNS0
 ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data | ldns_pkt
 
index 2838322300a9ab36a4a3b35ffed1a543de67a645..c45c973c23ecf77366ea3bf2174032db96b8cc63 100644 (file)
@@ -148,7 +148,7 @@ ldns_rr_list *ldns_pkt_question(const ldns_pkt *p);
 ldns_rr_list *ldns_pkt_answer(const ldns_pkt *p);
 ldns_rr_list *ldns_pkt_authority(const ldns_pkt *p);
 ldns_rr_list *ldns_pkt_additional(const ldns_pkt *p);
-ldns_rr_list *ldns_pkt_xxsection(ldns_pkt *p, ldns_pkt_section s);
+ldns_rr_list *ldns_pkt_get_section(ldns_pkt *p, ldns_pkt_section s);
 ldns_rr_list *ldns_pkt_rr_list_by_name(ldns_pkt *p, ldns_rdf *r, ldns_pkt_section s);
 ldns_rr_list *ldns_pkt_rr_list_by_type(ldns_pkt *p, ldns_rr_type t, ldns_pkt_section s);
 ldns_rr_list *ldns_pkt_rr_list_by_name_and_type(ldns_pkt *packet, ldns_rdf *ownername, ldns_rr_type type, ldns_pkt_section sec);
@@ -179,7 +179,7 @@ void ldns_pkt_set_answerfrom(ldns_pkt *p, ldns_rdf *r);
 void ldns_pkt_set_querytime(ldns_pkt *p, uint32_t t);
 void ldns_pkt_set_size(ldns_pkt *p, size_t s);
 void ldns_pkt_set_when(ldns_pkt *p, char *w);
-void ldns_pkt_set_xxcount(ldns_pkt *p, ldns_pkt_section s, uint16_t x);
+void ldns_pkt_set_section_count(ldns_pkt *p, ldns_pkt_section s, uint16_t x);
 void ldns_pkt_set_tsig(ldns_pkt *p, ldns_rr *t);
 
 /**
index 2201fac3e4722bfd31288d586a5b4997b9391f81..dad69c0f9b283ea1142c6095b605b995ff5accbe 100644 (file)
@@ -252,11 +252,17 @@ ldns_resolver* ldns_resolver_new_frm_fp(FILE *fp);
 ldns_resolver* ldns_resolver_new_frm_file(const char *filename);
 
 /**                             
- * Frees the allocated space for this resolver and all it's data
+ * Frees the allocated space for this resolver
  * \param res resolver to free  
  */     
 void ldns_resolver_free(ldns_resolver *res);
 
+/**                             
+ * Frees the allocated space for this resolver and all it's data
+ * \param res resolver to free  
+ */     
+void ldns_resolver_deep_free(ldns_resolver *res);
+
 /**
  * Prepares the resolver for an axfr query
  * The query is sent and the answers can be read with ldns_axfr_next
index 3820815435c62d261c312612cfcee67318bb7cf0..7b2e3f70f9ac441ca56eaac78bbc09378dfa59cb 100644 (file)
--- a/ldns/rr.h
+++ b/ldns/rr.h
@@ -434,7 +434,8 @@ void ldns_rr_list_free(ldns_rr_list *rr_list);
 void ldns_rr_list_deep_free(ldns_rr_list *rr_list);
 
 /**
- * concatenates two ldns_rr_lists together.
+ * concatenates two ldns_rr_lists together. This modifies
+ * *left (to extend it and add the pointers from *right).
  * \param[in] left the leftside
  * \param[in] right the rightside
  * \return a left with right concatenated to it
@@ -442,7 +443,8 @@ void ldns_rr_list_deep_free(ldns_rr_list *rr_list);
 ldns_status ldns_rr_list_cat(ldns_rr_list *left, ldns_rr_list *right);
 
 /**
- * concatenates two ldns_rr_lists together, but makes clones of the rr's (instead of pointer copying).
+ * concatenates two ldns_rr_lists together, but makes clones of the rr's 
+ * (instead of pointer copying).
  * \param[in] left the leftside
  * \param[in] right the rightside
  * \return a new rr_list with leftside/rightside concatenated
index 0bff87f52305eba7d40fbf7ca2c4c3f91d53da15..6ef913e0258884eda44878debf9aa8b25cc16131 100644 (file)
--- a/packet.c
+++ b/packet.c
@@ -138,12 +138,12 @@ ldns_pkt_all(ldns_pkt *packet)
        ldns_rr_list *all;
 
        all = ldns_rr_list_cat_clone(
-                       ldns_pkt_xxsection(packet, LDNS_SECTION_QUESTION),
-                       ldns_pkt_xxsection(packet, LDNS_SECTION_ANSWER));
+                       ldns_pkt_get_section(packet, LDNS_SECTION_QUESTION),
+                       ldns_pkt_get_section(packet, LDNS_SECTION_ANSWER));
        all = ldns_rr_list_cat_clone(all,
-                       ldns_pkt_xxsection(packet, LDNS_SECTION_AUTHORITY));
+                       ldns_pkt_get_section(packet, LDNS_SECTION_AUTHORITY));
        all = ldns_rr_list_cat_clone(all,
-                       ldns_pkt_xxsection(packet, LDNS_SECTION_ADDITIONAL));
+                       ldns_pkt_get_section(packet, LDNS_SECTION_ADDITIONAL));
        return all;
 }
 
@@ -153,10 +153,10 @@ ldns_pkt_all_noquestion(ldns_pkt *packet)
        ldns_rr_list *all, *all2;
 
        all = ldns_rr_list_cat_clone(
-                       ldns_pkt_xxsection(packet, LDNS_SECTION_ANSWER),
-                       ldns_pkt_xxsection(packet, LDNS_SECTION_AUTHORITY));
+                       ldns_pkt_get_section(packet, LDNS_SECTION_ANSWER),
+                       ldns_pkt_get_section(packet, LDNS_SECTION_AUTHORITY));
        all2 = ldns_rr_list_cat_clone(all,
-                       ldns_pkt_xxsection(packet, LDNS_SECTION_ADDITIONAL));
+                       ldns_pkt_get_section(packet, LDNS_SECTION_ADDITIONAL));
        
        ldns_rr_list_free(all);
        return all2;
@@ -245,7 +245,7 @@ ldns_pkt_rr_list_by_name(ldns_pkt *packet, ldns_rdf *ownername, ldns_pkt_section
                return NULL;
        }
 
-       rrs = ldns_pkt_xxsection(packet, sec);
+       rrs = ldns_pkt_get_section(packet, sec);
        new = ldns_rr_list_new();
        ret = NULL;
 
@@ -274,7 +274,7 @@ ldns_pkt_rr_list_by_type(ldns_pkt *packet, ldns_rr_type type, ldns_pkt_section s
                return NULL;
        }
        
-       rrs = ldns_pkt_xxsection(packet, sec);
+       rrs = ldns_pkt_get_section(packet, sec);
        new = ldns_rr_list_new();
        ret = NULL;
 
@@ -311,7 +311,7 @@ ldns_pkt_rr_list_by_name_and_type(ldns_pkt *packet, ldns_rdf *ownername, ldns_rr
                return NULL;
        }
        
-       rrs = ldns_pkt_xxsection(packet, sec);
+       rrs = ldns_pkt_get_section(packet, sec);
        new = ldns_rr_list_new();
        ret = NULL;
 
@@ -342,7 +342,7 @@ ldns_pkt_rr(ldns_pkt *pkt, ldns_pkt_section sec, ldns_rr *rr)
        uint16_t rr_count;
        uint16_t i;
 
-       rrs = ldns_pkt_xxsection(pkt, sec);
+       rrs = ldns_pkt_get_section(pkt, sec);
        if (!rrs) {
                return NULL;
        }
@@ -359,7 +359,7 @@ ldns_pkt_rr(ldns_pkt *pkt, ldns_pkt_section sec, ldns_rr *rr)
 }
 
 uint16_t
-ldns_pkt_xxcount(const ldns_pkt *packet, ldns_pkt_section s)
+ldns_pkt_section_count(const ldns_pkt *packet, ldns_pkt_section s)
 {
        switch(s) {
        case LDNS_SECTION_QUESTION:
@@ -385,7 +385,7 @@ ldns_pkt_xxcount(const ldns_pkt *packet, ldns_pkt_section s)
 }
 
 ldns_rr_list *
-ldns_pkt_xxsection(ldns_pkt *packet, ldns_pkt_section s)
+ldns_pkt_get_section(ldns_pkt *packet, ldns_pkt_section s)
 {
        switch(s) {
        case LDNS_SECTION_QUESTION:
@@ -552,7 +552,7 @@ ldns_pkt_set_edns_data(ldns_pkt *packet, ldns_rdf *data)
 }
 
 void
-ldns_pkt_set_xxcount(ldns_pkt *packet, ldns_pkt_section s, uint16_t count)
+ldns_pkt_set_section_count(ldns_pkt *packet, ldns_pkt_section s, uint16_t count)
 {
        switch(s) {
                case LDNS_SECTION_QUESTION:
@@ -592,7 +592,7 @@ ldns_pkt_push_rr(ldns_pkt *packet, ldns_pkt_section section, ldns_rr *rr)
        ldns_rr_list *rrs;
 
        /* get the right rr list for this section */
-       rrs = ldns_pkt_xxsection(packet, section);
+       rrs = ldns_pkt_get_section(packet, section);
        if (!rrs) {
                return false;
        }
@@ -684,10 +684,10 @@ ldns_pkt_new()
        ldns_pkt_set_querytime(packet, 0);
        ldns_pkt_set_answerfrom(packet, NULL);
        ldns_pkt_set_when(packet, NULL);
-       ldns_pkt_set_xxcount(packet, LDNS_SECTION_QUESTION, 0);
-       ldns_pkt_set_xxcount(packet, LDNS_SECTION_ANSWER, 0);
-       ldns_pkt_set_xxcount(packet, LDNS_SECTION_AUTHORITY, 0);
-       ldns_pkt_set_xxcount(packet, LDNS_SECTION_ADDITIONAL, 0);
+       ldns_pkt_set_section_count(packet, LDNS_SECTION_QUESTION, 0);
+       ldns_pkt_set_section_count(packet, LDNS_SECTION_ANSWER, 0);
+       ldns_pkt_set_section_count(packet, LDNS_SECTION_AUTHORITY, 0);
+       ldns_pkt_set_section_count(packet, LDNS_SECTION_ADDITIONAL, 0);
        
        ldns_pkt_set_edns_udp_size(packet, 0);
        ldns_pkt_set_edns_extended_rcode(packet, 0);
index fa67d71ef9437d9692213174036e097dbc7e639b..b4366ea462219210bfbd3f08e2aef491145a8f5d 100644 (file)
@@ -209,8 +209,8 @@ ldns_resolver_push_nameserver(ldns_resolver *r, ldns_rdf *n)
        /* set the new value in the resolver */
        ldns_resolver_set_nameservers(r, nameservers);
 
-       /* slide n in its slot */
-       nameservers[ns_count] = ldns_rdf_clone(n);
+       /* slide n in its slot. */
+       nameservers[ns_count] = n;
        ldns_resolver_incr_nameserver_count(r);
        return LDNS_STATUS_OK;
 }
@@ -559,7 +559,7 @@ ldns_resolver_new_frm_file(const char *filename)
 }
 
 void
-ldns_resolver_free(ldns_resolver *res)
+ldns_resolver_deep_free(ldns_resolver *res)
 {
        size_t i;
        
@@ -569,12 +569,22 @@ ldns_resolver_free(ldns_resolver *res)
                                ldns_rdf_deep_free(res->_searchlist[i]);
                        }
                }
-               LDNS_FREE(res->_searchlist);
                if (res->_nameservers) {
                        for (i = 0; i < res->_nameserver_count; i++) {
                                ldns_rdf_deep_free(res->_nameservers[i]);
                        }
                }
+               LDNS_FREE(res->_searchlist);
+               LDNS_FREE(res->_nameservers);
+               LDNS_FREE(res);
+       }
+}
+
+void
+ldns_resolver_free(ldns_resolver *res)
+{
+       if (res) {
+               LDNS_FREE(res->_searchlist);
                LDNS_FREE(res->_nameservers);
                LDNS_FREE(res);
        }
diff --git a/rr.c b/rr.c
index 23400bde22f08617d3dd0beeac91d2e36d1e1db8..9c0e145313b186de751bca913c5d42d499ece36f 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -490,8 +490,6 @@ ldns_rr_list_cat(ldns_rr_list *left, ldns_rr_list *right)
        uint16_t l_rr_count;
        uint16_t i;
 
-       r_rr_count = 0;
-
        if (left) {
                l_rr_count = ldns_rr_list_rr_count(left);
        } else {
@@ -501,7 +499,7 @@ ldns_rr_list_cat(ldns_rr_list *left, ldns_rr_list *right)
        if (right) {
                r_rr_count = ldns_rr_list_rr_count(right);
        } else {
-               return LDNS_STATUS_NULL;
+               r_rr_count = 0;
        }
        
        if (l_rr_count + r_rr_count > LDNS_MAX_RR ) {
@@ -525,7 +523,6 @@ ldns_rr_list_cat_clone(ldns_rr_list *left, ldns_rr_list *right)
        ldns_rr_list *cat;
 
        l_rr_count = 0;
-       r_rr_count = 0;
 
        if (left) {
                l_rr_count = ldns_rr_list_rr_count(left);
@@ -536,7 +533,7 @@ ldns_rr_list_cat_clone(ldns_rr_list *left, ldns_rr_list *right)
        if (right) {
                r_rr_count = ldns_rr_list_rr_count(right);
        } else {
-               return NULL;
+               r_rr_count = 0;
        }
        
        if (l_rr_count + r_rr_count > LDNS_MAX_RR ) {