bugzilla 612 - write recipients list in X-Envelope-To header of MBOX spool file
[exim.git] / src / src / pcre / pcre_chartables.c
CommitLineData
47db1125 1/* $Cambridge: exim/src/src/pcre/pcre_chartables.c,v 1.2 2007/11/12 13:02:19 nm4 Exp $ */
64f2600a
PH
2
3/*************************************************
4* Perl-Compatible Regular Expressions *
5*************************************************/
6
7/* This file contains character tables that are used when no external tables
8are passed to PCRE by the application that calls it. The tables are used only
9for characters whose code values are less than 256.
10
11This is a default version of the tables that assumes ASCII encoding. A program
12called dftables (which is distributed with PCRE) can be used to build
13alternative versions of this file. This is necessary if you are running in an
14EBCDIC environment, or if you want to default to a different encoding, for
15example ISO-8859-1. When dftables is run, it creates these tables in the
16current locale. If PCRE is configured with --enable-rebuild-chartables, this
17happens automatically.
18
47db1125 19The following #includes are present because without the gcc 4.x may remove the
64f2600a
PH
20array definition from the final binary if PCRE is built into a static library
21and dead code stripping is activated. This leads to link errors. Pulling in the
22header ensures that the array gets flagged as "someone outside this compilation
23unit might reference this" and so it will always be supplied to the linker. */
24
47db1125
NM
25#ifdef HAVE_CONFIG_H
26#include "config.h"
27#endif
28
64f2600a
PH
29#include "pcre_internal.h"
30
31const unsigned char _pcre_default_tables[] = {
32
33/* This table is a lower casing table. */
34
35 0, 1, 2, 3, 4, 5, 6, 7,
36 8, 9, 10, 11, 12, 13, 14, 15,
37 16, 17, 18, 19, 20, 21, 22, 23,
38 24, 25, 26, 27, 28, 29, 30, 31,
39 32, 33, 34, 35, 36, 37, 38, 39,
40 40, 41, 42, 43, 44, 45, 46, 47,
41 48, 49, 50, 51, 52, 53, 54, 55,
42 56, 57, 58, 59, 60, 61, 62, 63,
43 64, 97, 98, 99,100,101,102,103,
44 104,105,106,107,108,109,110,111,
45 112,113,114,115,116,117,118,119,
46 120,121,122, 91, 92, 93, 94, 95,
47 96, 97, 98, 99,100,101,102,103,
48 104,105,106,107,108,109,110,111,
49 112,113,114,115,116,117,118,119,
50 120,121,122,123,124,125,126,127,
51 128,129,130,131,132,133,134,135,
52 136,137,138,139,140,141,142,143,
53 144,145,146,147,148,149,150,151,
54 152,153,154,155,156,157,158,159,
55 160,161,162,163,164,165,166,167,
56 168,169,170,171,172,173,174,175,
57 176,177,178,179,180,181,182,183,
58 184,185,186,187,188,189,190,191,
59 192,193,194,195,196,197,198,199,
60 200,201,202,203,204,205,206,207,
61 208,209,210,211,212,213,214,215,
62 216,217,218,219,220,221,222,223,
63 224,225,226,227,228,229,230,231,
64 232,233,234,235,236,237,238,239,
65 240,241,242,243,244,245,246,247,
66 248,249,250,251,252,253,254,255,
67
68/* This table is a case flipping table. */
69
70 0, 1, 2, 3, 4, 5, 6, 7,
71 8, 9, 10, 11, 12, 13, 14, 15,
72 16, 17, 18, 19, 20, 21, 22, 23,
73 24, 25, 26, 27, 28, 29, 30, 31,
74 32, 33, 34, 35, 36, 37, 38, 39,
75 40, 41, 42, 43, 44, 45, 46, 47,
76 48, 49, 50, 51, 52, 53, 54, 55,
77 56, 57, 58, 59, 60, 61, 62, 63,
78 64, 97, 98, 99,100,101,102,103,
79 104,105,106,107,108,109,110,111,
80 112,113,114,115,116,117,118,119,
81 120,121,122, 91, 92, 93, 94, 95,
82 96, 65, 66, 67, 68, 69, 70, 71,
83 72, 73, 74, 75, 76, 77, 78, 79,
84 80, 81, 82, 83, 84, 85, 86, 87,
85 88, 89, 90,123,124,125,126,127,
86 128,129,130,131,132,133,134,135,
87 136,137,138,139,140,141,142,143,
88 144,145,146,147,148,149,150,151,
89 152,153,154,155,156,157,158,159,
90 160,161,162,163,164,165,166,167,
91 168,169,170,171,172,173,174,175,
92 176,177,178,179,180,181,182,183,
93 184,185,186,187,188,189,190,191,
94 192,193,194,195,196,197,198,199,
95 200,201,202,203,204,205,206,207,
96 208,209,210,211,212,213,214,215,
97 216,217,218,219,220,221,222,223,
98 224,225,226,227,228,229,230,231,
99 232,233,234,235,236,237,238,239,
100 240,241,242,243,244,245,246,247,
101 248,249,250,251,252,253,254,255,
102
103/* This table contains bit maps for various character classes. Each map is 32
104bytes long and the bits run from the least significant end of each byte. The
105classes that have their own maps are: space, xdigit, digit, upper, lower, word,
106graph, print, punct, and cntrl. Other classes are built from combinations. */
107
108 0x00,0x3e,0x00,0x00,0x01,0x00,0x00,0x00,
109 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
110 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
111 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
112
113 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,
114 0x7e,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,
115 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
116 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
117
118 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,
119 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
120 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
121 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
122
123 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
124 0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
125 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
126 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
127
128 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
129 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07,
130 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
131 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
132
133 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,
134 0xfe,0xff,0xff,0x87,0xfe,0xff,0xff,0x07,
135 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
136 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
137
138 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,
139 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
140 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
141 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
142
143 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
144 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
145 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
146 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
147
148 0x00,0x00,0x00,0x00,0xfe,0xff,0x00,0xfc,
149 0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x78,
150 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
151 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
152
153 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
154 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
155 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
156 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
157
158/* This table identifies various classes of character by individual bits:
159 0x01 white space character
160 0x02 letter
161 0x04 decimal digit
162 0x08 hexadecimal digit
163 0x10 alphanumeric or '_'
164 0x80 regular expression metacharacter or binary zero
165*/
166
167 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0- 7 */
168 0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00, /* 8- 15 */
169 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 */
170 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */
171 0x01,0x00,0x00,0x00,0x80,0x00,0x00,0x00, /* - ' */
172 0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x00, /* ( - / */
173 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /* 0 - 7 */
174 0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x80, /* 8 - ? */
175 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* @ - G */
176 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* H - O */
177 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* P - W */
178 0x12,0x12,0x12,0x80,0x80,0x00,0x80,0x10, /* X - _ */
179 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* ` - g */
180 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* h - o */
181 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* p - w */
182 0x12,0x12,0x12,0x80,0x80,0x00,0x00,0x00, /* x -127 */
183 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */
184 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */
185 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */
186 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */
187 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */
188 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */
189 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */
190 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */
191 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */
192 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */
193 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */
194 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */
195 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */
196 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */
197 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */
198 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */
199
200/* End of pcre_chartables.c */