From: Miek Gieben Date: Tue, 8 Mar 2005 14:13:06 +0000 (+0000) Subject: kaput X-Git-Tag: release-0.50~288 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12aed2cb17add3a6d9ab588a10e27d67198fb75a;p=thirdparty%2Fldns.git kaput --- diff --git a/resolver.c b/resolver.c index f186d9e3..315f7c2e 100644 --- a/resolver.c +++ b/resolver.c @@ -134,17 +134,30 @@ ldns_resolver_pop_nameserver(ldns_resolver *r) ldns_rdf **nameservers; ldns_rdf *pop; + printf("-- %d --\n", ldns_resolver_nameserver_count(r)); if (ldns_resolver_nameserver_count(r) == 0) { return NULL; } + printf("-- %d --\n", ldns_resolver_nameserver_count(r) - 1); nameservers = ldns_resolver_nameservers(r); - pop = nameservers[ldns_resolver_nameserver_count(r)]; + /*pop = ldns_rdf_deep_clone( + nameservers[ldns_resolver_nameserver_count(r)]); + */ + + + + pop = nameservers[1]; + printf("rdf pop: "); + ldns_rdf_print(stdout, pop); + printf("\n"); /* delete the room of the last one */ +#if 0 nameservers = XREALLOC(nameservers, ldns_rdf *, (ldns_resolver_nameserver_count(r) - 1)); +#endif ldns_resolver_dec_nameserver_count(r); return pop; @@ -177,7 +190,12 @@ ldns_resolver_push_nameserver(ldns_resolver *r, ldns_rdf *n) nameservers[ ldns_resolver_nameserver_count(r)] = n; + printf("and finally pushing "); + ldns_rdf_print(stdout, n); + printf("[ as %d] \n", ldns_resolver_nameserver_count(r)); + ldns_resolver_incr_nameserver_count(r); + printf("[ as %d] \n", ldns_resolver_nameserver_count(r)); return LDNS_STATUS_OK; } @@ -198,6 +216,9 @@ ldns_resolver_push_nameserver_rr(ldns_resolver *r, ldns_rr *rr) return LDNS_STATUS_ERR; } address = ldns_rr_rdf(rr, 0); /* extract the ip number */ + printf("addres to push: "); + ldns_rdf_print(stdout, address); + printf("\n"); return ldns_resolver_push_nameserver(r, address); } @@ -217,6 +238,8 @@ ldns_resolver_push_nameserver_rr_list(ldns_resolver *r, ldns_rr_list *rrlist) stat = LDNS_STATUS_OK; for(i = 0; i < ldns_rr_list_rr_count(rrlist); i++) { rr = ldns_rr_list_rr(rrlist, i); + ldns_rr_print(stdout, rr); + printf(" push RR\n"); if (ldns_resolver_push_nameserver_rr(r, rr) != LDNS_STATUS_OK) { stat = LDNS_STATUS_ERR; diff --git a/run-test16.c b/run-test16.c index 8d66b078..40ac1774 100644 --- a/run-test16.c +++ b/run-test16.c @@ -60,17 +60,23 @@ main(void) res = ldns_resolver_new(); list = ldns_rr_list_new(); - ns = ldns_rr_new_frm_str("a.root-servers.net. 3600 IN A 198.41.0.4"); + ns = ldns_rr_new_frm_str("a.root-servers.net. 3600 IN A 198.41.0.1"); ldns_rr_list_push_rr(list, ns); + ns = ldns_rr_new_frm_str("a.root-servers.net. 3600 IN A 198.41.0.2"); ldns_rr_list_push_rr(list, ns); + ns = ldns_rr_new_frm_str("a.root-servers.net. 3600 IN A 198.41.0.3"); ldns_rr_list_push_rr(list, ns); printf("\nrr:\n"); ldns_rr_print(stdout, ns); printf("\nlist:\n"); ldns_rr_list_print(stdout, list); - ldns_resolver_push_nameserver_rr(res, ns); + printf("------\n"); + /*ldns_resolver_push_nameserver_rr(res, ns);*/ ldns_resolver_push_nameserver_rr_list(res, list); + ldns_resolver_pop_nameserver(res); + ldns_resolver_pop_nameserver(res); + return 0; }