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
);