diff options
| author | Garrett Wollman <wollman@FreeBSD.org> | 1995-01-14 22:23:41 +0000 |
|---|---|---|
| committer | Garrett Wollman <wollman@FreeBSD.org> | 1995-01-14 22:23:41 +0000 |
| commit | af4d8ead38cac8e7026de67ff7ba3b744623c279 (patch) | |
| tree | 77542679c39d3d1f555f94fe8f357cc9d8a36be7 /lib/libcom_err/et_name.c | |
| parent | e7f8d55240ec1c16dd7d3c836c9922e4bb26b3ce (diff) | |
Notes
Diffstat (limited to 'lib/libcom_err/et_name.c')
| -rw-r--r-- | lib/libcom_err/et_name.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/libcom_err/et_name.c b/lib/libcom_err/et_name.c new file mode 100644 index 000000000000..a896bab84e18 --- /dev/null +++ b/lib/libcom_err/et_name.c @@ -0,0 +1,43 @@ +/* + * Copyright 1987 by MIT Student Information Processing Board + * + * For copyright info, see mit-sipb-copyright.h. + */ + +#include "error_table.h" +#include "mit-sipb-copyright.h" +#include "internal.h" + +#ifndef lint +static const char copyright[] = + "Copyright 1987,1988 by Student Information Processing Board, Massachusetts Institute of Technology"; +static const char rcsid_et_name_c[] = + "$Header: et_name.c,v 1.7 89/01/01 06:14:56 raeburn Exp $"; +#endif + +static const char char_set[] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"; + +static char buf[6]; + +const char * error_table_name(num) + int num; +{ + int ch; + int i; + char *p; + + /* num = aa aaa abb bbb bcc ccc cdd ddd d?? ??? ??? */ + p = buf; + num >>= ERRCODE_RANGE; + /* num = ?? ??? ??? aaa aaa bbb bbb ccc ccc ddd ddd */ + num &= 077777777; + /* num = 00 000 000 aaa aaa bbb bbb ccc ccc ddd ddd */ + for (i = 4; i >= 0; i--) { + ch = (num >> BITS_PER_CHAR * i) & ((1 << BITS_PER_CHAR) - 1); + if (ch != 0) + *p++ = char_set[ch-1]; + } + *p = '\0'; + return(buf); +} |
