10
#define FATAL "dnsmx: fatal: "
14
strerr_die2x(111,FATAL,"out of memory");
17
static char seed[128];
22
char strnum[FMT_ULONG];
24
int main(int argc,char **argv)
30
dns_random_init(seed);
35
if (!stralloc_copys(&fqdn,*argv)) nomem();
36
if (dns_mx(&out,&fqdn) == -1)
37
strerr_die4sys(111,FATAL,"unable to find MX records for ",*argv,": ");
40
if (!dns_domain_fromdot(&q,*argv,str_len(*argv))) nomem();
41
if (!stralloc_copys(&out,"0 ")) nomem();
42
if (!dns_domain_todot_cat(&out,q)) nomem();
43
if (!stralloc_cats(&out,"\n")) nomem();
44
buffer_put(buffer_1,out.s,out.len);
48
while (i + 2 < out.len) {
49
j = byte_chr(out.s + i + 2,out.len - i - 2,0);
50
uint16_unpack_big(out.s + i,&pref);
51
buffer_put(buffer_1,strnum,fmt_ulong(strnum,pref));
52
buffer_puts(buffer_1," ");
53
buffer_put(buffer_1,out.s + i + 2,j);
54
buffer_puts(buffer_1,"\n");
62
buffer_flush(buffer_1);