home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume11 / musbus / part04 / util.c < prev   
Encoding:
C/C++ Source or Header  |  1987-09-16  |  1.1 KB  |  60 lines

  1. #include "makework.h"
  2. #ifndef lint
  3. static char RCSid[] = "$Header: util.c,v 1.3 87/06/23 15:56:41 kjmcdonell Beta $";
  4. #endif
  5.  
  6. fatal(s)
  7. char *s;
  8. {
  9.     int    i;
  10.     fprintf(stderr, s);
  11.     fflush(stderr);
  12.     perror("Reason?");
  13.     fflush(stderr);
  14.     for (i = 0; i < nstream; i++) {
  15.     if (work[i].pid > 0 && kill(work[i].pid, SIGKILL) != -1) {
  16.         fprintf(stderr, "pid %d killed off\n", work[i].pid);
  17.         fflush(stderr);
  18.     }
  19.     }
  20.     exit_status = 4;
  21.     return;
  22. }
  23.  
  24. #ifdef DEBUG
  25. dumpwork()
  26. {
  27.     int        i;
  28.     int        j;
  29.  
  30.     for (i = 0; i < nstream; i++) {
  31.     fprintf(stderr, "job %d: cmd: %s home: %s tty: %s\n",
  32.         i, work[i].cmd, work[i].home, work[i].tty);
  33.     j = 0;
  34.     while (work[i].av[j]) {
  35.         fprintf(stderr, "argv[%d]: %s\n", j, work[i].av[j]);
  36.         j++;
  37.     }
  38.     fprintf(stderr, "input: %d chars text: ", work[i].blen);
  39.     if (work[i].buf == (char *)0)
  40.         fprintf(stderr, "<NULL>\n");
  41.     else {
  42.             register char    *pend;
  43.             char        *p;
  44.         char        c;
  45.         p = work[i].buf;
  46.         while (*p) {
  47.             pend = p;
  48.             while (*pend && *pend != '\n')
  49.                 pend++;
  50.             c = *pend;
  51.             *pend = '\0';
  52.             fprintf(stderr, "%s\n", p);
  53.             *pend = c;
  54.             p = &pend[1];
  55.         }
  56.     }
  57.     }
  58. }
  59. #endif
  60.