summaryrefslogtreecommitdiff
path: root/dnsfq.c
blob: b7619b9f5b2fa30d28f90c7119cf0bc38fa9d586 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "substdio.h"
#include "subfd.h"
#include "stralloc.h"
#include "dns.h"
#include "dnsdoe.h"
#include "ip.h"
#include "ipalloc.h"
#include "exit.h"

stralloc sa = {0};
ipalloc ia = {0};

void main(argc,argv)
int argc;
char **argv;
{
 if (!argv[1]) _exit(100);

 if (!stralloc_copys(&sa,argv[1]))
  { substdio_putsflush(subfderr,"out of memory\n"); _exit(111); }

 dns_init(1);
 dnsdoe(dns_ip(&ia,&sa));
 if (ia.len <= 0)
  {
   substdio_putsflush(subfderr,"no IP addresses\n"); _exit(100);
  }
 dnsdoe(dns_ptr(&sa,&ia.ix[0].ip));
 substdio_putflush(subfdout,sa.s,sa.len);
 substdio_putsflush(subfdout,"\n");
 _exit(0);
}