chiark / gitweb /
+ * Include stdlib.h in adnshost.h.
[adns.git] / 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 }