50 OnigEncDefaultCharEncoding = enc;
82 if (prev) *prev = (
const UChar* )p;
119 return (q <= end ? q :
NULL);
147 if (len == 1)
return n;
150 if (*q !=
'\0')
break;
154 if (len == 1)
return n;
174 if (len == 1)
return (
int )(p - start);
177 if (*q !=
'\0')
break;
181 if (len == 1)
return (
int )(p - start);
189 '\000',
'\001',
'\002',
'\003',
'\004',
'\005',
'\006',
'\007',
190 '\010',
'\011',
'\012',
'\013',
'\014',
'\015',
'\016',
'\017',
191 '\020',
'\021',
'\022',
'\023',
'\024',
'\025',
'\026',
'\027',
192 '\030',
'\031',
'\032',
'\033',
'\034',
'\035',
'\036',
'\037',
193 '\040',
'\041',
'\042',
'\043',
'\044',
'\045',
'\046',
'\047',
194 '\050',
'\051',
'\052',
'\053',
'\054',
'\055',
'\056',
'\057',
195 '\060',
'\061',
'\062',
'\063',
'\064',
'\065',
'\066',
'\067',
196 '\070',
'\071',
'\072',
'\073',
'\074',
'\075',
'\076',
'\077',
197 '\100',
'\141',
'\142',
'\143',
'\144',
'\145',
'\146',
'\147',
198 '\150',
'\151',
'\152',
'\153',
'\154',
'\155',
'\156',
'\157',
199 '\160',
'\161',
'\162',
'\163',
'\164',
'\165',
'\166',
'\167',
200 '\170',
'\171',
'\172',
'\133',
'\134',
'\135',
'\136',
'\137',
201 '\140',
'\141',
'\142',
'\143',
'\144',
'\145',
'\146',
'\147',
202 '\150',
'\151',
'\152',
'\153',
'\154',
'\155',
'\156',
'\157',
203 '\160',
'\161',
'\162',
'\163',
'\164',
'\165',
'\166',
'\167',
204 '\170',
'\171',
'\172',
'\173',
'\174',
'\175',
'\176',
'\177',
205 '\200',
'\201',
'\202',
'\203',
'\204',
'\205',
'\206',
'\207',
206 '\210',
'\211',
'\212',
'\213',
'\214',
'\215',
'\216',
'\217',
207 '\220',
'\221',
'\222',
'\223',
'\224',
'\225',
'\226',
'\227',
208 '\230',
'\231',
'\232',
'\233',
'\234',
'\235',
'\236',
'\237',
209 '\240',
'\241',
'\242',
'\243',
'\244',
'\245',
'\246',
'\247',
210 '\250',
'\251',
'\252',
'\253',
'\254',
'\255',
'\256',
'\257',
211 '\260',
'\261',
'\262',
'\263',
'\264',
'\265',
'\266',
'\267',
212 '\270',
'\271',
'\272',
'\273',
'\274',
'\275',
'\276',
'\277',
213 '\300',
'\301',
'\302',
'\303',
'\304',
'\305',
'\306',
'\307',
214 '\310',
'\311',
'\312',
'\313',
'\314',
'\315',
'\316',
'\317',
215 '\320',
'\321',
'\322',
'\323',
'\324',
'\325',
'\326',
'\327',
216 '\330',
'\331',
'\332',
'\333',
'\334',
'\335',
'\336',
'\337',
217 '\340',
'\341',
'\342',
'\343',
'\344',
'\345',
'\346',
'\347',
218 '\350',
'\351',
'\352',
'\353',
'\354',
'\355',
'\356',
'\357',
219 '\360',
'\361',
'\362',
'\363',
'\364',
'\365',
'\366',
'\367',
220 '\370',
'\371',
'\372',
'\373',
'\374',
'\375',
'\376',
'\377',
223 #ifdef USE_UPPER_CASE_TABLE
225 '\000',
'\001',
'\002',
'\003',
'\004',
'\005',
'\006',
'\007',
226 '\010',
'\011',
'\012',
'\013',
'\014',
'\015',
'\016',
'\017',
227 '\020',
'\021',
'\022',
'\023',
'\024',
'\025',
'\026',
'\027',
228 '\030',
'\031',
'\032',
'\033',
'\034',
'\035',
'\036',
'\037',
229 '\040',
'\041',
'\042',
'\043',
'\044',
'\045',
'\046',
'\047',
230 '\050',
'\051',
'\052',
'\053',
'\054',
'\055',
'\056',
'\057',
231 '\060',
'\061',
'\062',
'\063',
'\064',
'\065',
'\066',
'\067',
232 '\070',
'\071',
'\072',
'\073',
'\074',
'\075',
'\076',
'\077',
233 '\100',
'\101',
'\102',
'\103',
'\104',
'\105',
'\106',
'\107',
234 '\110',
'\111',
'\112',
'\113',
'\114',
'\115',
'\116',
'\117',
235 '\120',
'\121',
'\122',
'\123',
'\124',
'\125',
'\126',
'\127',
236 '\130',
'\131',
'\132',
'\133',
'\134',
'\135',
'\136',
'\137',
237 '\140',
'\101',
'\102',
'\103',
'\104',
'\105',
'\106',
'\107',
238 '\110',
'\111',
'\112',
'\113',
'\114',
'\115',
'\116',
'\117',
239 '\120',
'\121',
'\122',
'\123',
'\124',
'\125',
'\126',
'\127',
240 '\130',
'\131',
'\132',
'\173',
'\174',
'\175',
'\176',
'\177',
241 '\200',
'\201',
'\202',
'\203',
'\204',
'\205',
'\206',
'\207',
242 '\210',
'\211',
'\212',
'\213',
'\214',
'\215',
'\216',
'\217',
243 '\220',
'\221',
'\222',
'\223',
'\224',
'\225',
'\226',
'\227',
244 '\230',
'\231',
'\232',
'\233',
'\234',
'\235',
'\236',
'\237',
245 '\240',
'\241',
'\242',
'\243',
'\244',
'\245',
'\246',
'\247',
246 '\250',
'\251',
'\252',
'\253',
'\254',
'\255',
'\256',
'\257',
247 '\260',
'\261',
'\262',
'\263',
'\264',
'\265',
'\266',
'\267',
248 '\270',
'\271',
'\272',
'\273',
'\274',
'\275',
'\276',
'\277',
249 '\300',
'\301',
'\302',
'\303',
'\304',
'\305',
'\306',
'\307',
250 '\310',
'\311',
'\312',
'\313',
'\314',
'\315',
'\316',
'\317',
251 '\320',
'\321',
'\322',
'\323',
'\324',
'\325',
'\326',
'\327',
252 '\330',
'\331',
'\332',
'\333',
'\334',
'\335',
'\336',
'\337',
253 '\340',
'\341',
'\342',
'\343',
'\344',
'\345',
'\346',
'\347',
254 '\350',
'\351',
'\352',
'\353',
'\354',
'\355',
'\356',
'\357',
255 '\360',
'\361',
'\362',
'\363',
'\364',
'\365',
'\366',
'\367',
256 '\370',
'\371',
'\372',
'\373',
'\374',
'\375',
'\376',
'\377',
261 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
262 0x4008, 0x420c, 0x4209, 0x4208, 0x4208, 0x4208, 0x4008, 0x4008,
263 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
264 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
265 0x4284, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
266 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
267 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0,
268 0x78b0, 0x78b0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
269 0x41a0, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x74a2,
270 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
271 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
272 0x74a2, 0x74a2, 0x74a2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x51a0,
273 0x41a0, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x70e2,
274 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
275 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
276 0x70e2, 0x70e2, 0x70e2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x4008,
277 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
278 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
279 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
280 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
281 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
282 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
283 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
284 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
285 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
286 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
287 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
288 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
289 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
290 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
291 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
292 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
296 '\000',
'\001',
'\002',
'\003',
'\004',
'\005',
'\006',
'\007',
297 '\010',
'\011',
'\012',
'\013',
'\014',
'\015',
'\016',
'\017',
298 '\020',
'\021',
'\022',
'\023',
'\024',
'\025',
'\026',
'\027',
299 '\030',
'\031',
'\032',
'\033',
'\034',
'\035',
'\036',
'\037',
300 '\040',
'\041',
'\042',
'\043',
'\044',
'\045',
'\046',
'\047',
301 '\050',
'\051',
'\052',
'\053',
'\054',
'\055',
'\056',
'\057',
302 '\060',
'\061',
'\062',
'\063',
'\064',
'\065',
'\066',
'\067',
303 '\070',
'\071',
'\072',
'\073',
'\074',
'\075',
'\076',
'\077',
304 '\100',
'\141',
'\142',
'\143',
'\144',
'\145',
'\146',
'\147',
305 '\150',
'\151',
'\152',
'\153',
'\154',
'\155',
'\156',
'\157',
306 '\160',
'\161',
'\162',
'\163',
'\164',
'\165',
'\166',
'\167',
307 '\170',
'\171',
'\172',
'\133',
'\134',
'\135',
'\136',
'\137',
308 '\140',
'\141',
'\142',
'\143',
'\144',
'\145',
'\146',
'\147',
309 '\150',
'\151',
'\152',
'\153',
'\154',
'\155',
'\156',
'\157',
310 '\160',
'\161',
'\162',
'\163',
'\164',
'\165',
'\166',
'\167',
311 '\170',
'\171',
'\172',
'\173',
'\174',
'\175',
'\176',
'\177',
312 '\200',
'\201',
'\202',
'\203',
'\204',
'\205',
'\206',
'\207',
313 '\210',
'\211',
'\212',
'\213',
'\214',
'\215',
'\216',
'\217',
314 '\220',
'\221',
'\222',
'\223',
'\224',
'\225',
'\226',
'\227',
315 '\230',
'\231',
'\232',
'\233',
'\234',
'\235',
'\236',
'\237',
316 '\240',
'\241',
'\242',
'\243',
'\244',
'\245',
'\246',
'\247',
317 '\250',
'\251',
'\252',
'\253',
'\254',
'\255',
'\256',
'\257',
318 '\260',
'\261',
'\262',
'\263',
'\264',
'\265',
'\266',
'\267',
319 '\270',
'\271',
'\272',
'\273',
'\274',
'\275',
'\276',
'\277',
320 '\340',
'\341',
'\342',
'\343',
'\344',
'\345',
'\346',
'\347',
321 '\350',
'\351',
'\352',
'\353',
'\354',
'\355',
'\356',
'\357',
322 '\360',
'\361',
'\362',
'\363',
'\364',
'\365',
'\366',
'\327',
323 '\370',
'\371',
'\372',
'\373',
'\374',
'\375',
'\376',
'\337',
324 '\340',
'\341',
'\342',
'\343',
'\344',
'\345',
'\346',
'\347',
325 '\350',
'\351',
'\352',
'\353',
'\354',
'\355',
'\356',
'\357',
326 '\360',
'\361',
'\362',
'\363',
'\364',
'\365',
'\366',
'\367',
327 '\370',
'\371',
'\372',
'\373',
'\374',
'\375',
'\376',
'\377'
330 #ifdef USE_UPPER_CASE_TABLE
332 '\000',
'\001',
'\002',
'\003',
'\004',
'\005',
'\006',
'\007',
333 '\010',
'\011',
'\012',
'\013',
'\014',
'\015',
'\016',
'\017',
334 '\020',
'\021',
'\022',
'\023',
'\024',
'\025',
'\026',
'\027',
335 '\030',
'\031',
'\032',
'\033',
'\034',
'\035',
'\036',
'\037',
336 '\040',
'\041',
'\042',
'\043',
'\044',
'\045',
'\046',
'\047',
337 '\050',
'\051',
'\052',
'\053',
'\054',
'\055',
'\056',
'\057',
338 '\060',
'\061',
'\062',
'\063',
'\064',
'\065',
'\066',
'\067',
339 '\070',
'\071',
'\072',
'\073',
'\074',
'\075',
'\076',
'\077',
340 '\100',
'\101',
'\102',
'\103',
'\104',
'\105',
'\106',
'\107',
341 '\110',
'\111',
'\112',
'\113',
'\114',
'\115',
'\116',
'\117',
342 '\120',
'\121',
'\122',
'\123',
'\124',
'\125',
'\126',
'\127',
343 '\130',
'\131',
'\132',
'\133',
'\134',
'\135',
'\136',
'\137',
344 '\140',
'\101',
'\102',
'\103',
'\104',
'\105',
'\106',
'\107',
345 '\110',
'\111',
'\112',
'\113',
'\114',
'\115',
'\116',
'\117',
346 '\120',
'\121',
'\122',
'\123',
'\124',
'\125',
'\126',
'\127',
347 '\130',
'\131',
'\132',
'\173',
'\174',
'\175',
'\176',
'\177',
348 '\200',
'\201',
'\202',
'\203',
'\204',
'\205',
'\206',
'\207',
349 '\210',
'\211',
'\212',
'\213',
'\214',
'\215',
'\216',
'\217',
350 '\220',
'\221',
'\222',
'\223',
'\224',
'\225',
'\226',
'\227',
351 '\230',
'\231',
'\232',
'\233',
'\234',
'\235',
'\236',
'\237',
352 '\240',
'\241',
'\242',
'\243',
'\244',
'\245',
'\246',
'\247',
353 '\250',
'\251',
'\252',
'\253',
'\254',
'\255',
'\256',
'\257',
354 '\260',
'\261',
'\262',
'\263',
'\264',
'\265',
'\266',
'\267',
355 '\270',
'\271',
'\272',
'\273',
'\274',
'\275',
'\276',
'\277',
356 '\300',
'\301',
'\302',
'\303',
'\304',
'\305',
'\306',
'\307',
357 '\310',
'\311',
'\312',
'\313',
'\314',
'\315',
'\316',
'\317',
358 '\320',
'\321',
'\322',
'\323',
'\324',
'\325',
'\326',
'\327',
359 '\330',
'\331',
'\332',
'\333',
'\334',
'\335',
'\336',
'\337',
360 '\300',
'\301',
'\302',
'\303',
'\304',
'\305',
'\306',
'\307',
361 '\310',
'\311',
'\312',
'\313',
'\314',
'\315',
'\316',
'\317',
362 '\320',
'\321',
'\322',
'\323',
'\324',
'\325',
'\326',
'\367',
363 '\330',
'\331',
'\332',
'\333',
'\334',
'\335',
'\336',
'\377',
420 code = OnigAsciiLowerMap[
i].
to;
421 r = (*f)(OnigAsciiLowerMap[
i].
from, &code, 1, arg);
422 if (r != 0)
return r;
424 code = OnigAsciiLowerMap[
i].
from;
425 r = (*f)(OnigAsciiLowerMap[
i].
to, &code, 1, arg);
426 if (r != 0)
return r;
437 if (0x41 <= *p && *p <= 0x5a) {
443 else if (0x61 <= *p && *p <= 0x7a) {
472 if (r != 0)
return r;
474 for (i = 0; i < map_size; i++) {
476 r = (*f)(map[
i].
from, &code, 1, arg);
477 if (r != 0)
return r;
480 r = (*f)(map[
i].
to, &code, 1, arg);
481 if (r != 0)
return r;
484 if (ess_tsett_flag != 0)
496 if (0x41 <= *p && *p <= 0x5a) {
500 if (*p == 0x53 && ess_tsett_flag != 0 && end > p + 1
501 && (*(p+1) == 0x53 || *(p+1) == 0x73)) {
511 else if (0x61 <= *p && *p <= 0x7a) {
515 if (*p == 0x73 && ess_tsett_flag != 0 && end > p + 1
516 && (*(p+1) == 0x73 || *(p+1) == 0x53)) {
526 else if (*p == 0xdf && ess_tsett_flag != 0) {
552 for (i = 0; i < map_size; i++) {
553 if (*p == map[i].from) {
559 else if (*p == map[i].to) {
584 if (*p == 0x0a)
return 1;
603 const UChar** pp,
const UChar* end ARG_UNUSED)
637 *buf = (
UChar )(code & 0xff);
679 len =
enclen(enc, p, end);
681 if (len == 1)
return n;
683 for (i = 1; i < len; i++) {
693 const UChar** pp,
const UChar* end ARG_UNUSED,
707 len =
enclen(enc, p, end);
708 for (i = 0; i < len; i++) {
736 if (code <= 0xff)
return 1;
737 if (code <= 0xffff)
return 2;
744 if ((code & 0xff000000) != 0)
return 4;
745 else if ((code & 0xff0000) != 0)
return 3;
746 else if ((code & 0xff00) != 0)
return 2;
755 if ((code & 0xff00) != 0) {
756 *p++ = (
UChar )((code >> 8) & 0xff);
758 *p++ = (
UChar )(code & 0xff);
764 return (
int )(p -
buf);
772 if ((code & 0xff000000) != 0) {
773 *p++ = (
UChar )((code >> 24) & 0xff);
775 if ((code & 0xff0000) != 0 || p !=
buf) {
776 *p++ = (
UChar )((code >> 16) & 0xff);
778 if ((code & 0xff00) != 0 || p !=
buf) {
779 *p++ = (
UChar )((code >> 8) & 0xff);
781 *p++ = (
UChar )(code & 0xff);
787 return (
int )(p -
buf);
814 for (pbe = (pb = PBS) +
sizeof(PBS)/
sizeof(PBS[0]); pb < pbe; ++pb) {
815 if (len == pb->
len &&
855 const UChar* sascii ,
int n)
860 if (p >= end)
return (
int )(*sascii);
874 const UChar* sascii ,
int n)
879 if (p >= end)
return (
int )(*sascii);
921 #define PROP_INIT_SIZE 16
925 if (*psize <= *pnum) {
928 if (r != 0)
return r;
931 (*plist)[*pnum] = prop;
static int resize_property_list(int new_size, const OnigCodePoint ***plist, int *psize)
#define ONIGENC_MBCLEN_CHARFOUND_P(r)
#define ONIGENC_CTYPE_BLANK
#define ONIGENC_CTYPE_PUNCT
UChar * onigenc_step_back(OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end, int n)
unsigned int OnigCodePoint
static st_index_t new_size(st_index_t size)
#define ONIG_IS_NOT_NULL(p)
int onigenc_always_true_is_allowed_reverse_match(const UChar *s ARG_UNUSED, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
const OnigPairCaseFoldCodes OnigAsciiLowerMap[]
#define ONIGERR_TOO_BIG_WIDE_CHAR_VALUE
int onigenc_mbclen_approximate(const OnigUChar *p, const OnigUChar *e, struct OnigEncodingTypeST *enc)
size_t strlen(const char *)
OnigCodePoint onigenc_single_byte_mbc_to_code(const UChar *p, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
#define ONIGENC_IS_MBC_ASCII(p)
const UChar OnigEncAsciiToLowerCaseTable[]
UChar * onigenc_get_right_adjust_char_head(OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end)
const UChar OnigEncISO_8859_1_ToUpperCaseTable[256]
unsigned int OnigCaseFoldType
int onigenc_set_default_encoding(OnigEncoding enc)
int onigenc_ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc ARG_UNUSED)
int onigenc_mbn_mbc_case_fold(OnigEncoding enc, OnigCaseFoldType flag ARG_UNUSED, const UChar **pp, const UChar *end ARG_UNUSED, UChar *lower)
int onigenc_mb2_code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED)
#define ONIG_ENCODING_INIT_DEFAULT
UChar * onigenc_get_left_adjust_char_head(OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end)
#define ONIGENC_MBCLEN_CHARFOUND_LEN(r)
hash_table_type * onig_st_init_strend_table_with_size(st_index_t size)
int onigenc_strlen(OnigEncoding enc, const UChar *p, const UChar *end)
void rb_raise(VALUE exc, const char *fmt,...)
#define ONIGENC_CTYPE_CNTRL
int onigenc_mb2_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf)
int onig_st_insert_strend(hash_table_type *table, const UChar *str_key, const UChar *end_key, hash_data_type value)
int onigenc_ascii_apply_all_case_fold(OnigCaseFoldType flag ARG_UNUSED, OnigApplyAllCaseFoldFunc f, void *arg, OnigEncoding enc ARG_UNUSED)
UChar * onigenc_get_right_adjust_char_head_with_prev(OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end, const UChar **prev)
#define ONIGENC_CTYPE_ALNUM
#define ONIGENC_CTYPE_WORD
#define ONIGENC_CTYPE_ALPHA
OnigEncoding onigenc_get_default_encoding(void)
#define ONIGERR_INVALID_CHAR_PROPERTY_NAME
int onigenc_mb2_is_code_ctype(OnigEncoding enc, OnigCodePoint code, unsigned int ctype)
UChar * onigenc_get_prev_char_head(OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end)
static int ss_apply_all_case_fold(OnigCaseFoldType flag ARG_UNUSED, OnigApplyAllCaseFoldFunc f, void *arg)
#define ONIGENC_CTYPE_UPPER
#define ONIGENC_CTYPE_DIGIT
#define THREAD_ATOMIC_END
#define ONIGENC_MBC_ENC_LEN(enc, p, e)
void onigenc_set_default_caseconv_table(const UChar *table ARG_UNUSED)
int onigenc_always_false_is_allowed_reverse_match(const UChar *s ARG_UNUSED, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
#define PosixBracketEntryInit(name, ctype)
int(* OnigApplyAllCaseFoldFunc)(OnigCodePoint from, OnigCodePoint *to, int to_len, void *arg)
#define ONIGENC_IS_ASCII_CODE_CTYPE(code, ctype)
#define ONIGENC_CTYPE_XDIGIT
int onigenc_with_ascii_strnicmp(OnigEncoding enc, const UChar *p, const UChar *end, const UChar *sascii, int n)
OnigEncoding OnigEncDefaultCharEncoding
int onigenc_apply_all_case_fold_with_map(int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void *arg)
int onigenc_single_byte_code_to_mbclen(OnigCodePoint code ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
UChar * onigenc_single_byte_left_adjust_char_head(const UChar *start ARG_UNUSED, const UChar *s, const UChar *end, OnigEncoding enc ARG_UNUSED)
int onigenc_is_mbc_newline_0x0a(const UChar *p, const UChar *end, OnigEncoding enc ARG_UNUSED)
#define ONIGENC_CODE_TO_MBCLEN(enc, code)
#define THREAD_ATOMIC_START
int onigenc_mb4_is_code_ctype(OnigEncoding enc, OnigCodePoint code, unsigned int ctype)
int onigenc_property_list_init(int(*f)(void))
unsigned char buf[MIME_BUF_SIZE]
#define ONIGENC_CTYPE_PRINT
#define ONIG_NO_SUPPORT_CONFIG
int onigenc_single_byte_mbc_enc_len(const UChar *p ARG_UNUSED, const UChar *e ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
#define ONIGENC_IS_ASCII_CODE(code)
#define ONIGENC_CTYPE_SPACE
const unsigned short OnigEncAsciiCtypeTable[256]
int onigenc_not_support_get_ctype_code_range(OnigCtype ctype, OnigCodePoint *sb_out, const OnigCodePoint *ranges[], OnigEncoding enc)
int onigenc_str_bytelen_null(OnigEncoding enc, const UChar *s)
int onigenc_strlen_null(OnigEncoding enc, const UChar *s)
#define ONIGENC_MBC_TO_CODE(enc, p, end)
int onigenc_ascii_get_case_fold_codes_by_str(OnigCaseFoldType flag ARG_UNUSED, const OnigUChar *p, const OnigUChar *end ARG_UNUSED, OnigCaseFoldCodeItem items[], OnigEncoding enc ARG_UNUSED)
#define ONIGENC_MBC_MINLEN(enc)
UChar * onigenc_step(OnigEncoding enc, const UChar *p, const UChar *end, int n)
#define ONIGENC_MAX_STD_CTYPE
#define ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s, end)
int onigenc_mb4_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf)
#define ONIGENC_PRECISE_MBC_ENC_LEN(enc, p, e)
#define ONIGENC_IS_ASCII_CODE_CASE_AMBIG(code)
#define CTYPE_IS_WORD_GRAPH_PRINT(ctype)
struct rb_encoding_entry * list
int onigenc_mb4_code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED)
int onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc ARG_UNUSED)
OnigCodePoint code[ONIGENC_MAX_COMP_CASE_FOLD_CODE_LEN]
int onigenc_with_ascii_strncmp(OnigEncoding enc, const UChar *p, const UChar *end, const UChar *sascii, int n)
OnigCodePoint onigenc_mbn_mbc_to_code(OnigEncoding enc, const UChar *p, const UChar *end)
#define ONIGENC_CTYPE_GRAPH
#define ONIGERR_INVALID_CODE_POINT_VALUE
#define ONIGENC_MBCLEN_NEEDMORE_LEN(r)
int onigenc_property_list_add_property(UChar *name, const OnigCodePoint *prop, hash_table_type **table, const OnigCodePoint ***plist, int *pnum, int *psize)
#define ONIGENC_CTYPE_LOWER
#define ONIGENC_CTYPE_ASCII
#define ONIGENC_MBCLEN_NEEDMORE_P(r)
int onigenc_minimum_property_name_to_ctype(OnigEncoding enc, UChar *p, UChar *end)
const UChar OnigEncAsciiToUpperCaseTable[256]
int onigenc_ascii_mbc_case_fold(OnigCaseFoldType flag ARG_UNUSED, const UChar **p, const UChar *end, UChar *lower, OnigEncoding enc ARG_UNUSED)
#define enclen(enc, p, e)
const UChar OnigEncISO_8859_1_ToLowerCaseTable[256]
#define ONIGENC_ASCII_CODE_TO_LOWER_CASE(c)
int onigenc_get_case_fold_codes_by_str_with_map(int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag ARG_UNUSED, const OnigUChar *p, const OnigUChar *end, OnigCaseFoldCodeItem items[])
#define ONIGENC_MBC_MAXLEN(enc)