summaryrefslogtreecommitdiff
path: root/dnsfq.c
diff options
context:
space:
mode:
Diffstat (limited to 'dnsfq.c')
-rw-r--r--dnsfq.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/dnsfq.c b/dnsfq.c
new file mode 100644
index 0000000..b7619b9
--- /dev/null
+++ b/dnsfq.c
@@ -0,0 +1,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);
+}