diff options
author | Laurent Ghigonis <laurent@p1sec.com> | 2012-12-15 05:48:16 +0100 |
---|---|---|
committer | Laurent Ghigonis <laurent@p1sec.com> | 2012-12-15 05:48:16 +0100 |
commit | 546990e129df1e3d339b003903380ab20599b3b2 (patch) | |
tree | 2feaa64a6dbd4e9a070911b05c695124145043b2 | |
parent | add Makefile for examples/ of libglouglou (diff) | |
download | glouglou-546990e129df1e3d339b003903380ab20599b3b2.tar.xz glouglou-546990e129df1e3d339b003903380ab20599b3b2.zip |
call the user callback even on error but with NULL as name
-rw-r--r-- | libglouglou/libggnet_dns.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/libglouglou/libggnet_dns.c b/libglouglou/libggnet_dns.c index 26e0230..782c395 100644 --- a/libglouglou/libggnet_dns.c +++ b/libglouglou/libggnet_dns.c @@ -97,20 +97,16 @@ _cb_evdns_reverse(int result, char type, int count, struct ggnet_dns_req *req; char **name; - req = arg; - if (type != DNS_PTR) { - printf("libggnet_dns WARNING: dns reverse for %x received non DNS_PTR\n", - req->ip.s_addr); - goto free; - } - if (count == 0) - goto free; if (count > 1) printf("libggnet_dns XXX: has %d PTR records !\n", count); // XXX + + req = arg; name = addresses; - req->cb_usr(&req->ip, *name, req->data); + if (result != DNS_ERR_NONE || count == 0) + req->cb_usr(&req->ip, NULL, req->data); + else + req->cb_usr(&req->ip, *name, req->data); -free: LIST_REMOVE(req, entry); req->ggdns->req_pending--; free(req); |