release
[hcoop/zz_old/debian/djbdns.git] / strerr_die.c
CommitLineData
dc0d77d7
CE
1#include "buffer.h"
2#include "exit.h"
3#include "strerr.h"
4
5void strerr_warn(const char *x1,const char *x2,const char *x3,const char *x4,const char *x5,const char *x6,const struct strerr *se)
6{
7 strerr_sysinit();
8
9 if (x1) buffer_puts(buffer_2,x1);
10 if (x2) buffer_puts(buffer_2,x2);
11 if (x3) buffer_puts(buffer_2,x3);
12 if (x4) buffer_puts(buffer_2,x4);
13 if (x5) buffer_puts(buffer_2,x5);
14 if (x6) buffer_puts(buffer_2,x6);
15
16 while(se) {
17 if (se->x) buffer_puts(buffer_2,se->x);
18 if (se->y) buffer_puts(buffer_2,se->y);
19 if (se->z) buffer_puts(buffer_2,se->z);
20 se = se->who;
21 }
22
23 buffer_puts(buffer_2,"\n");
24 buffer_flush(buffer_2);
25}
26
27void strerr_die(int e,const char *x1,const char *x2,const char *x3,const char *x4,const char *x5,const char *x6,const struct strerr *se)
28{
29 strerr_warn(x1,x2,x3,x4,x5,x6,se);
30 _exit(e);
31}