1 |
148 |
jeremybenn |
/*
|
2 |
|
|
FUNCTION
|
3 |
|
|
<<unctrl>>---get printable representation of a character
|
4 |
|
|
|
5 |
|
|
INDEX
|
6 |
|
|
unctrl
|
7 |
|
|
INDEX
|
8 |
|
|
unctrllen
|
9 |
|
|
|
10 |
|
|
ANSI_SYNOPSIS
|
11 |
|
|
#include <unctrl.h>
|
12 |
|
|
char *unctrl(int <[c]>);
|
13 |
|
|
int unctrllen(int <[c]>);
|
14 |
|
|
|
15 |
|
|
TRAD_SYNOPSIS
|
16 |
|
|
#include <unctrl.h>
|
17 |
|
|
char *unctrl(<[c]>);
|
18 |
|
|
int unctrllen(<[c]>);
|
19 |
|
|
|
20 |
|
|
DESCRIPTION
|
21 |
|
|
<<unctrl>> is a macro which returns the printable representation of <[c]>
|
22 |
|
|
as a string.
|
23 |
|
|
<<unctrllen>> is a macro which returns the length of the printable
|
24 |
|
|
representation of <[c]>.
|
25 |
|
|
|
26 |
|
|
RETURNS
|
27 |
|
|
<<unctrl>> returns a string of the printable representation of <[c]>.
|
28 |
|
|
|
29 |
|
|
<<unctrllen>> returns the length of the string which is the printable
|
30 |
|
|
representation of <[c]>.
|
31 |
|
|
|
32 |
|
|
PORTABILITY
|
33 |
|
|
<<unctrl>> and <<unctrllen>> are not ANSI C.
|
34 |
|
|
|
35 |
|
|
No supporting OS subroutines are required.
|
36 |
|
|
*/
|
37 |
|
|
|
38 |
|
|
/*
|
39 |
|
|
* Copyright (c) 1981, 1993
|
40 |
|
|
* The Regents of the University of California. All rights reserved.
|
41 |
|
|
*
|
42 |
|
|
* Redistribution and use in source and binary forms, with or without
|
43 |
|
|
* modification, are permitted provided that the following conditions
|
44 |
|
|
* are met:
|
45 |
|
|
* 1. Redistributions of source code must retain the above copyright
|
46 |
|
|
* notice, this list of conditions and the following disclaimer.
|
47 |
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
48 |
|
|
* notice, this list of conditions and the following disclaimer in the
|
49 |
|
|
* documentation and/or other materials provided with the distribution.
|
50 |
|
|
* 3. All advertising materials mentioning features or use of this software
|
51 |
|
|
* must display the following acknowledgement:
|
52 |
|
|
* This product includes software developed by the University of
|
53 |
|
|
* California, Berkeley and its contributors.
|
54 |
|
|
* 4. Neither the name of the University nor the names of its contributors
|
55 |
|
|
* may be used to endorse or promote products derived from this software
|
56 |
|
|
* without specific prior written permission.
|
57 |
|
|
*
|
58 |
|
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
59 |
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
60 |
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
61 |
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
62 |
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
63 |
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
64 |
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
65 |
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
66 |
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
67 |
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
68 |
|
|
* SUCH DAMAGE.
|
69 |
|
|
*/
|
70 |
|
|
|
71 |
|
|
#include <_ansi.h>
|
72 |
|
|
|
73 |
|
|
#if defined(LIBC_SCCS) && !defined(lint)
|
74 |
|
|
static char sccsid[] = "@(#)unctrl.c 8.1 (Berkeley) 6/4/93";
|
75 |
|
|
#endif /* LIBC_SCCS and not lint */
|
76 |
|
|
|
77 |
|
|
_CONST char * _CONST __unctrl[256] = {
|
78 |
|
|
"^@", "^A", "^B", "^C", "^D", "^E", "^F", "^G",
|
79 |
|
|
"^H", "^I", "^J", "^K", "^L", "^M", "^N", "^O",
|
80 |
|
|
"^P", "^Q", "^R", "^S", "^T", "^U", "^V", "^W",
|
81 |
|
|
"^X", "^Y", "^Z", "^[", "^\\", "^]", "^~", "^_",
|
82 |
|
|
" ", "!", "\"", "#", "$", "%", "&", "'",
|
83 |
|
|
"(", ")", "*", "+", ",", "-", ".", "/",
|
84 |
|
|
"0", "1", "2", "3", "4", "5", "6", "7",
|
85 |
|
|
"8", "9", ":", ";", "<", "=", ">", "?",
|
86 |
|
|
"@", "A", "B", "C", "D", "E", "F", "G",
|
87 |
|
|
"H", "I", "J", "K", "L", "M", "N", "O",
|
88 |
|
|
"P", "Q", "R", "S", "T", "U", "V", "W",
|
89 |
|
|
"X", "Y", "Z", "[", "\\", "]", "^", "_",
|
90 |
|
|
"`", "a", "b", "c", "d", "e", "f", "g",
|
91 |
|
|
"h", "i", "j", "k", "l", "m", "n", "o",
|
92 |
|
|
"p", "q", "r", "s", "t", "u", "v", "w",
|
93 |
|
|
"x", "y", "z", "{", "|", "}", "~", "^?",
|
94 |
|
|
|
95 |
|
|
"0x80", "0x81", "0x82", "0x83", "0x84", "0x85", "0x86", "0x87",
|
96 |
|
|
"0x88", "0x89", "0x8a", "0x8b", "0x8c", "0x8d", "0x8e", "0x8f",
|
97 |
|
|
"0x90", "0x91", "0x92", "0x93", "0x94", "0x95", "0x96", "0x97",
|
98 |
|
|
"0x98", "0x99", "0x9a", "0x9b", "0x9c", "0x9d", "0x9e", "0x9f",
|
99 |
|
|
"0xa0", "0xa1", "0xa2", "0xa3", "0xa4", "0xa5", "0xa6", "0xa7",
|
100 |
|
|
"0xa8", "0xa9", "0xaa", "0xab", "0xac", "0xad", "0xae", "0xaf",
|
101 |
|
|
"0xb0", "0xb1", "0xb2", "0xb3", "0xb4", "0xb5", "0xb6", "0xb7",
|
102 |
|
|
"0xb8", "0xb9", "0xba", "0xbb", "0xbc", "0xbd", "0xbe", "0xbf",
|
103 |
|
|
"0xc0", "0xc1", "0xc2", "0xc3", "0xc4", "0xc5", "0xc6", "0xc7",
|
104 |
|
|
"0xc8", "0xc9", "0xca", "0xcb", "0xcc", "0xcd", "0xce", "0xcf",
|
105 |
|
|
"0xd0", "0xd1", "0xd2", "0xd3", "0xd4", "0xd5", "0xd6", "0xd7",
|
106 |
|
|
"0xd8", "0xd9", "0xda", "0xdb", "0xdc", "0xdd", "0xde", "0xdf",
|
107 |
|
|
"0xe0", "0xe1", "0xe2", "0xe3", "0xe4", "0xe5", "0xe6", "0xe7",
|
108 |
|
|
"0xe8", "0xe9", "0xea", "0xeb", "0xec", "0xed", "0xee", "0xef",
|
109 |
|
|
"0xf0", "0xf1", "0xf2", "0xf3", "0xf4", "0xf5", "0xf6", "0xf7",
|
110 |
|
|
"0xf8", "0xf9", "0xfa", "0xfb", "0xfc", "0xfd", "0xfe", "0xff",
|
111 |
|
|
};
|
112 |
|
|
|
113 |
|
|
_CONST char __unctrllen[256] = {
|
114 |
|
|
2, 2, 2, 2, 2, 2, 2, 2,
|
115 |
|
|
2, 2, 2, 2, 2, 2, 2, 2,
|
116 |
|
|
2, 2, 2, 2, 2, 2, 2, 2,
|
117 |
|
|
2, 2, 2, 2, 2, 2, 2, 2,
|
118 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
119 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
120 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
121 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
122 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
123 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
124 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
125 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
126 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
127 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
128 |
|
|
1, 1, 1, 1, 1, 1, 1, 1,
|
129 |
|
|
1, 1, 1, 1, 1, 1, 1, 2,
|
130 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
131 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
132 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
133 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
134 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
135 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
136 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
137 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
138 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
139 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
140 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
141 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
142 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
143 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
144 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
145 |
|
|
4, 4, 4, 4, 4, 4, 4, 4,
|
146 |
|
|
};
|