1: /*
   2:  * Copyright (c) 1980 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)perror_.c	5.1	6/7/85
   7:  */
   8: 
   9: /*
  10:  * write a standard error message to the standard error output
  11:  *
  12:  * calling sequence:
  13:  *	call perror(string)
  14:  * where:
  15:  *	string will be written preceeding the standard error message
  16:  */
  17: 
  18: #include    <stdio.h>
  19: #include    "../libI77/fiodefs.h"
  20: #include    "../libI77/f_errno.h"
  21: 
  22: extern char *sys_errlist[];
  23: extern int sys_nerr;
  24: extern char *f_errlist[];
  25: extern int f_nerr;
  26: extern unit units[];
  27: 
  28: perror_(s, len)
  29: char *s; long len;
  30: {
  31:     unit    *lu;
  32:     char    buf[40];
  33:     char    *mesg = s + len;
  34: 
  35:     while (len > 0 && *--mesg == ' ')
  36:         len--;
  37:     if (errno >=0 && errno < sys_nerr)
  38:         mesg = sys_errlist[errno];
  39:     else if (errno >= F_ER && errno < (F_ER + f_nerr))
  40:         mesg = f_errlist[errno - F_ER];
  41:     else
  42:     {
  43:         sprintf(buf, "%d: unknown error number", errno);
  44:         mesg = buf;
  45:     }
  46:     lu = &units[STDERR];
  47:     if (!lu->uwrt)
  48:         nowwriting(lu);
  49:     while (len-- > 0)
  50:         putc(*s++, lu->ufd);
  51:     fprintf(lu->ufd, ": %s\n", mesg);
  52: }

Defined functions

perror_ defined in line 28; never used
Last modified: 1985-06-08
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 730
Valid CSS Valid XHTML 1.0 Strict