/* -*-c-*-
*
- * $Id: bres-adns.c,v 1.3 2004/04/03 03:28:54 mdw Exp $
+ * $Id$
*
* Background reverse name resolution (ADNS version)
*
* must be licensed under the full GPL.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: bres-adns.c,v $
- * Revision 1.3 2004/04/03 03:28:54 mdw
- * Make ADNS wait for the event loop before collecting replies.
- *
- * Revision 1.2 2003/12/14 14:46:38 mdw
- * Qualify name given to @bres_byname@.
- *
- * Revision 1.1 2003/12/13 20:37:59 mdw
- * Add adns support in background resolver.
- *
- */
-
#ifndef HAVE_ADNS
# error "You need the ADNS library to compile this file."
#endif
void *c;
bres_client *rc;
adns_query q;
- adns_answer *a;
+ adns_answer *a, *aa;
int e;
int i;
else switch (rc->q) {
case adns_r_addr:
assert(a->type == adns_r_addr);
+ xfree(rc->u.name);
report(rc, a, a->rrs.addr, a->nrrs, &a->owner, 1);
- free(rc->u.name);
free(a);
break;
case adns_r_ptr:
}
goto fail;
match:
- report(rc, a, &a->rrs.addr[i], 1, rc->a->rrs.str, rc->a->nrrs);
- free(rc->a);
+ aa = rc->a;
+ report(rc, a, &a->rrs.addr[i], 1, aa->rrs.str, aa->nrrs);
+ free(aa);
free(a);
}
break;
continue;
fail:
- rc->func(0, rc->p);
if (rc->q == adns_r_addr) xfree(rc->u.name);
if (rc->a) free(rc->a);
+ rc->func(0, rc->p);
free(a);
}
}