summaryrefslogtreecommitdiff
path: root/minix/usr.bin/trace/escape.c
blob: 7f00ab87dea5c791d134360b281109785e015839 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

#include "inc.h"

static const char *const escape[256] = {
	"\\0",   "\\x01", "\\x02", "\\x03", "\\x04", "\\x05", "\\x06", "\\x07",
	"\\x08", "\\t",   "\\n",   "\\x0B", "\\x0C", "\\r",   "\\x0E", "\\x0F",
	"\\x10", "\\x11", "\\x12", "\\x13", "\\x14", "\\x15", "\\x16", "\\x17",
	"\\x18", "\\x19", "\\x1A", "\\x1B", "\\x1C", "\\x1D", "\\x1E", "\\x1F",
	" ",     "!",     "\\\"",  "#",     "$",     "%",     "&",     "'",
	"(",     ")",     "*",     "+",     ",",     "-",     ".",     "/",
	"0",     "1",     "2",     "3",     "4",     "5",     "6",     "7",
	"8",     "9",     ":",     ";",     "<",     "=",     ">",     "?",
	"@",     "A",     "B",     "C",     "D",     "E",     "F",     "G",
	"H",     "I",     "J",     "K",     "L",     "M",     "N",     "O",
	"P",     "Q",     "R",     "S",     "T",     "U",     "V",     "W",
	"X",     "Y",     "Z",     "[",     "\\",    "]",     "^",     "_",
	"`",     "a",     "b",     "c",     "d",     "e",     "f",     "g",
	"h",     "i",     "j",     "k",     "l",     "m",     "n",     "o",
	"p",     "q",     "r",     "s",     "t",     "u",     "v",     "w",
	"x",     "y",     "z",     "{",     "|",     "}",     "~",     "\\x7F",
	"\\x80", "\\x81", "\\x82", "\\x83", "\\x84", "\\x85", "\\x86", "\\x87",
	"\\x88", "\\x89", "\\x8A", "\\x8B", "\\x8C", "\\x8D", "\\x8E", "\\x8F",
	"\\x90", "\\x91", "\\x92", "\\x93", "\\x94", "\\x95", "\\x96", "\\x97",
	"\\x98", "\\x99", "\\x9A", "\\x9B", "\\x9C", "\\x9D", "\\x9E", "\\x9F",
	"\\xA0", "\\xA1", "\\xA2", "\\xA3", "\\xA4", "\\xA5", "\\xA6", "\\xA7",
	"\\xA8", "\\xA9", "\\xAA", "\\xAB", "\\xAC", "\\xAD", "\\xAE", "\\xAF",
	"\\xB0", "\\xB1", "\\xB2", "\\xB3", "\\xB4", "\\xB5", "\\xB6", "\\xB7",
	"\\xB8", "\\xB9", "\\xBA", "\\xBB", "\\xBC", "\\xBD", "\\xBE", "\\xBF",
	"\\xC0", "\\xC1", "\\xC2", "\\xC3", "\\xC4", "\\xC5", "\\xC6", "\\xC7",
	"\\xC8", "\\xC9", "\\xCA", "\\xCB", "\\xCC", "\\xCD", "\\xCE", "\\xCF",
	"\\xD0", "\\xD1", "\\xD2", "\\xD3", "\\xD4", "\\xD5", "\\xD6", "\\xD7",
	"\\xD8", "\\xD9", "\\xDA", "\\xDB", "\\xDC", "\\xDD", "\\xDE", "\\xDF",
	"\\xE0", "\\xE1", "\\xE2", "\\xE3", "\\xE4", "\\xE5", "\\xE6", "\\xE7",
	"\\xE8", "\\xE9", "\\xEA", "\\xEB", "\\xEC", "\\xED", "\\xEE", "\\xEF",
	"\\xF0", "\\xF1", "\\xF2", "\\xF3", "\\xF4", "\\xF5", "\\xF6", "\\xF7",
	"\\xF8", "\\xF9", "\\xFA", "\\xFB", "\\xFC", "\\xFD", "\\xFE", "\\xFF",
};

/*
 * For the given character, return a string representing an escaped version of
 * the character.
 */
const char *
get_escape(char c)
{

	return escape[(unsigned int)(unsigned char)c];
}