strerr_die.c
changeset 0 eeadadee24f6
equal deleted inserted replaced
-1:000000000000 0:eeadadee24f6
       
     1 #include "buffer.h"
       
     2 #include "exit.h"
       
     3 #include "strerr.h"
       
     4 
       
     5 void strerr_warn(char *x1,char *x2,char *x3,char *x4,char *x5,char *x6,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 
       
    27 void strerr_die(int e,char *x1,char *x2,char *x3,char *x4,char *x5,char *x6,struct strerr *se)
       
    28 {
       
    29   strerr_warn(x1,x2,x3,x4,x5,x6,se);
       
    30   _exit(e);
       
    31 }