+ * Include stdlib.h in adnshost.h.
[adns] / client / fanftest.c
1
2 #include <sys/types.h>
3 #include <sys/time.h>
4
5 #include <string.h>
6 #include <stdlib.h>
7 #include <stdio.h>
8 #include <errno.h>
9
10 #include "adns.h"
11
12 static const char *progname;
13
14 #define msg(fmt, args...) fprintf(stderr, "%s: " fmt "\n", progname, ##args)
15
16 static void aargh(const char *cause) {
17 const char *why = strerror(errno);
18 if (!why) why = "Unknown error";
19 msg("%s: %s (%d)", cause, why, errno);
20 exit(1);
21 }
22
23 int main(int argc, char *argv[]) {
24 adns_state adns;
25 adns_query query;
26 adns_answer *answer;
27
28 progname= strrchr(*argv, '/');
29 if (progname)
30 progname++;
31 else
32 progname= *argv;
33
34 if (argc != 2) {
35 fprintf(stderr, "usage: %s <domain>\n", progname);
36 exit(1);
37 }
38
39 errno= adns_init(&adns, adns_if_debug, 0);
40 if (errno) aargh("adns_init");
41
42 errno= adns_submit(adns, argv[1], adns_r_ptr,
43 adns_qf_quoteok_cname|adns_qf_cname_loose,
44 NULL, &query);
45 if (errno) aargh("adns_submit");
46
47 errno= adns_wait(adns, &query, &answer, NULL);
48 if (errno) aargh("adns_init");
49
50 printf("%s\n", answer->status == adns_s_ok ? *answer->rrs.str : "dunno");
51
52 adns_finish(adns);
53
54 return 0;
55 }