Ruby  1.9.3p429(2013-05-15revision40747)
escape.c
Go to the documentation of this file.
1 /* autogenerated. */
2 /* src="transcode-tblgen.rb", len=28123, checksum=30477 */
3 /* src="escape.trans", len=1986, checksum=23676 */
4 
5 #include "transcode_data.h"
6 
7 
8 
9 static const unsigned char
11 #define from__to_amp_escape_offsets 0
12 0, 255,
13  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
15  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
17  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
20  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
21  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
22  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
23  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
25  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
26  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
27  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
28  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29 
30 #define str1_amp makeSTR1(258)
31  makeSTR1LEN(5), 0x26, 0x61, 0x6D, 0x70, 0x3B,
32 
33 #define from__to_xml_text_escape_offsets 264
34 0, 255,
35  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
36  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
38  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0,
39  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
41  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
42  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
48  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
50  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
51 
52 #define str1_lt makeSTR1(522)
53  makeSTR1LEN(4), 0x26, 0x6C, 0x74, 0x3B,
54 
55 #define str1_gt makeSTR1(527)
56  makeSTR1LEN(4), 0x26, 0x67, 0x74, 0x3B,
57 
58 #define from__to_xml_attr_content_escape_offsets 532
59 0, 255,
60  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
61  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
62  0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,
64  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
65  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
66  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
67  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
69  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
70  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
71  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
72  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 
77 #define str1_quot makeSTR1(790)
78  makeSTR1LEN(6), 0x26, 0x71, 0x75, 0x6F, 0x74, 0x3B,
79 
80 #define escape_xml_attr_quote_offsets 797
81 0, 255,
82  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
84  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
88  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
89  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
90  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
91  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
92  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
94  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
95  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
96  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
97  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
98 
99 };
100 static const unsigned int
102 #define from__to_amp_escape_infos WORDINDEX2INFO(0)
103  NOMAP, str1_amp,
104 
105 #define from__to_amp_escape WORDINDEX2INFO(2)
108 
109 #define from__to_xml_text_escape_infos WORDINDEX2INFO(4)
110  NOMAP, str1_amp, str1_lt, str1_gt,
111 
112 #define from__to_xml_text_escape WORDINDEX2INFO(8)
115 
116 #define from__to_xml_attr_content_escape_infos WORDINDEX2INFO(10)
117  NOMAP, str1_quot, str1_amp, str1_lt,
118  str1_gt,
119 
120 #define from__to_xml_attr_content_escape WORDINDEX2INFO(15)
123 
124 #define escape_xml_attr_quote_infos WORDINDEX2INFO(17)
125  FUNso,
126 
127 #define escape_xml_attr_quote WORDINDEX2INFO(18)
130 
131 };
132 #define TRANSCODE_TABLE_INFO escape_byte_array, 1055, escape_word_array, 20, ((int)sizeof(unsigned int))
133 static const rb_transcoder
135  "", "amp_escape", from__to_amp_escape,
137  1, /* input_unit_length */
138  1, /* max_input */
139  5, /* max_output */
140  asciicompat_converter, /* asciicompat_type */
141  0, NULL, NULL, /* state_size, state_init, state_fini */
142  NULL, NULL, NULL, NULL,
143  NULL, NULL, NULL
144 };
145 static const rb_transcoder
147  "", "xml_text_escape", from__to_xml_text_escape,
149  1, /* input_unit_length */
150  1, /* max_input */
151  5, /* max_output */
152  asciicompat_converter, /* asciicompat_type */
153  0, NULL, NULL, /* state_size, state_init, state_fini */
154  NULL, NULL, NULL, NULL,
155  NULL, NULL, NULL
156 };
157 static const rb_transcoder
159  "", "xml_attr_content_escape", from__to_xml_attr_content_escape,
161  1, /* input_unit_length */
162  1, /* max_input */
163  6, /* max_output */
164  asciicompat_converter, /* asciicompat_type */
165  0, NULL, NULL, /* state_size, state_init, state_fini */
166  NULL, NULL, NULL, NULL,
167  NULL, NULL, NULL
168 };
169 
170 
171 #define END 0
172 #define NORMAL 1
173 
174 static int
176 {
177  unsigned char *sp = statep;
178  *sp = END;
179  return 0;
180 }
181 
182 static ssize_t
183 fun_so_escape_xml_attr_quote(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
184 {
185  unsigned char *sp = statep;
186  int n = 0;
187  if (*sp == END) {
188  *sp = NORMAL;
189  o[n++] = '"';
190  }
191  o[n++] = s[0];
192  return n;
193 }
194 
195 static ssize_t
196 escape_xml_attr_quote_finish(void *statep, unsigned char *o, size_t osize)
197 {
198  unsigned char *sp = statep;
199  int n = 0;
200 
201  if (*sp == END) {
202  o[n++] = '"';
203  }
204 
205  o[n++] = '"';
206  *sp = END;
207 
208  return n;
209 }
210 
211 static const rb_transcoder
213  "", "xml_attr_quote", escape_xml_attr_quote,
215  1, /* input_unit_length */
216  1, /* max_input */
217  7, /* max_output */
218  asciicompat_encoder, /* asciicompat_type */
220  NULL, NULL, NULL, fun_so_escape_xml_attr_quote,
222 };
223 
224 void
226 {
230 
232 }
233 
234 
235