]>
Commit | Line | Data |
---|---|---|
d1b2a10e | 1 | /* |
2 | * Copyright 1987 by MIT Student Information Processing Board | |
3 | * | |
4 | * For copyright info, see mit-sipb-copyright.h. | |
5 | */ | |
6 | ||
7 | #include "error_table.h" | |
8 | #include "mit-sipb-copyright.h" | |
9 | #include "internal.h" | |
10 | ||
11 | #ifndef lint | |
12 | static const char copyright[] = | |
13 | "Copyright 1987,1988 by Student Information Processing Board, Massachusetts Institute of Technology"; | |
14 | static const char rcsid_et_name_c[] = | |
15 | "$Header$"; | |
16 | #endif | |
17 | ||
18 | static const char char_set[] = | |
19 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"; | |
20 | ||
21 | static char buf[6]; | |
22 | ||
23 | const char * error_table_name(num) | |
24 | int num; | |
25 | { | |
26 | int ch; | |
27 | int i; | |
28 | char *p; | |
29 | ||
30 | /* num = aa aaa abb bbb bcc ccc cdd ddd d?? ??? ??? */ | |
31 | p = buf; | |
32 | num >>= ERRCODE_RANGE; | |
33 | /* num = ?? ??? ??? aaa aaa bbb bbb ccc ccc ddd ddd */ | |
34 | num &= 077777777; | |
35 | /* num = 00 000 000 aaa aaa bbb bbb ccc ccc ddd ddd */ | |
36 | for (i = 4; i >= 0; i--) { | |
37 | ch = (num >> BITS_PER_CHAR * i) & ((1 << BITS_PER_CHAR) - 1); | |
38 | if (ch != 0) | |
39 | *p++ = char_set[ch-1]; | |
40 | } | |
41 | *p = '\0'; | |
42 | return(buf); | |
43 | } |