chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/types.c (icb_hostaddr): Report correct output status and address count.
[adns]
/
src
/
types.c
diff --git
a/src/types.c
b/src/types.c
index 11f9fd4d7f10fb1033dbcee1eddb78fc5bf627a5..66415a3941c0485ff32603a9782915e60fd769be 100644
(file)
--- a/
src/types.c
+++ b/
src/types.c
@@
-854,7
+854,6
@@
static void icb_hostaddr(adns_query parent, adns_query child) {
size_t addrsz = addr_rrsz(parent);
st= cans->status == adns_s_nodata ? adns_s_ok : cans->status;
size_t addrsz = addr_rrsz(parent);
st= cans->status == adns_s_nodata ? adns_s_ok : cans->status;
- rrp->astatus= st;
if (st) goto done;
assert(addrsz == cans->rrsz);
if (st) goto done;
assert(addrsz == cans->rrsz);
@@
-872,9
+871,10
@@
static void icb_hostaddr(adns_query parent, adns_query child) {
done:
if (st) {
adns__free_interim(parent, rrp->addrs);
done:
if (st) {
adns__free_interim(parent, rrp->addrs);
- rrp->naddrs= (st>0 && st<=adns_s_max_tempfail) ? -1 :
cans->nrrs
;
+ rrp->naddrs= (st>0 && st<=adns_s_max_tempfail) ? -1 :
0
;
}
}
+ rrp->astatus= st;
if (parent->children.head) {
LIST_LINK_TAIL(ads->childw,parent);
} else {
if (parent->children.head) {
LIST_LINK_TAIL(ads->childw,parent);
} else {