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',
419 for (i = 0; i <
numberof(OnigAsciiLowerMap); i++) {
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)
485 return ss_apply_all_case_fold(flag, f, arg);
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) {
556 items[0].
code[0] = map[i].
to;
559 else if (*p == map[i].to) {
585 if (*p == 0x0a)
return 1;
606 const UChar* p = *pp;
640 *buf = (
UChar )(code & 0xff);
647 const UChar* end ARG_UNUSED,
655 const UChar* end ARG_UNUSED,
663 const UChar* end ARG_UNUSED,
685 len =
enclen(enc, p, end);
687 if (len == 1)
return n;
689 for (i = 1; i <
len; i++) {
699 const UChar** pp,
const UChar* end ARG_UNUSED,
703 const UChar *p = *pp;
713 len =
enclen(enc, p, end);
714 for (i = 0; i <
len; i++) {
727 const UChar* p = *pp;
742 if (code <= 0xff)
return 1;
743 if (code <= 0xffff)
return 2;
750 if ((code & 0xff000000) != 0)
return 4;
751 else if ((code & 0xff0000) != 0)
return 3;
752 else if ((code & 0xff00) != 0)
return 2;
761 if ((code & 0xff00) != 0) {
762 *p++ = (
UChar )((code >> 8) & 0xff);
764 *p++ = (
UChar )(code & 0xff);
770 return (
int )(p -
buf);
778 if ((code & 0xff000000) != 0) {
779 *p++ = (
UChar )((code >> 24) & 0xff);
781 if ((code & 0xff0000) != 0 || p !=
buf) {
782 *p++ = (
UChar )((code >> 16) & 0xff);
784 if ((code & 0xff00) != 0 || p !=
buf) {
785 *p++ = (
UChar )((code >> 8) & 0xff);
787 *p++ = (
UChar )(code & 0xff);
793 return (
int )(p -
buf);
820 for (pb = PBS; pb < PBS +
numberof(PBS); pb++) {
821 if (len == pb->
len &&
861 const UChar* sascii ,
int n)
866 if (p >= end)
return (
int )(*sascii);
880 const UChar* sascii ,
int n)
885 if (p >= end)
return (
int )(*sascii);
902 resize_property_list(
int new_size,
const OnigCodePoint*** plist,
int* psize)
930 #define PROP_INIT_SIZE 16 934 if (*psize <= *pnum) {
935 int new_size = (*psize == 0 ? PROP_INIT_SIZE : *psize * 2);
936 r = resize_property_list(new_size, plist, psize);
937 if (r != 0)
return r;
940 (*plist)[*pnum] = prop;
961 int codepoint_length;
963 while (*pp < end && to < to_end) {
965 if (codepoint_length < 0)
966 return codepoint_length;
968 *pp += codepoint_length;
973 }
else if (code >=
'A' && code <=
'Z' &&
983 return (
int )(to - to_start);
995 while (*pp < end && to < to_end) {
1001 }
else if (code >=
'A' && code <=
'Z' &&
1011 return (
int )(to - to_start);
UChar * onigenc_step_back(OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end, int n)
#define ONIGENC_CODE_TO_MBCLEN(enc, code)
unsigned int OnigCodePoint
#define ONIGENC_MBC_MAXLEN(enc)
#define ONIG_IS_NOT_NULL(p)
#define ONIGENC_MAX_STD_CTYPE
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[]
size_t strlen(const char *)
OnigCodePoint onigenc_single_byte_mbc_to_code(const UChar *p, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
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]
void rb_raise(VALUE exc, const char *fmt,...)
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)
#define ONIGENC_CTYPE_ASCII
#define ONIGERR_INVALID_CODE_POINT_VALUE
int onigenc_mb2_code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED)
#define ONIG_ENCODING_INIT_DEFAULT
#define ONIGENC_MBCLEN_NEEDMORE_LEN(r)
UChar * onigenc_get_left_adjust_char_head(OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end)
#define ONIGENC_CTYPE_ALPHA
unsigned int OnigCaseFoldType
int onigenc_strlen(OnigEncoding enc, const UChar *p, const UChar *end)
#define ONIGENC_IS_MBC_ASCII(p)
int onigenc_mb2_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf)
int onigenc_ascii_apply_all_case_fold(OnigCaseFoldType flag ARG_UNUSED, OnigApplyAllCaseFoldFunc f, void *arg, OnigEncoding enc ARG_UNUSED)
#define ONIGENC_MBC_ENC_LEN(enc, p, e)
#define ONIGENC_CTYPE_ALNUM
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_LEFT_ADJUST_CHAR_HEAD(enc, start, s, end)
OnigEncoding onigenc_get_default_encoding(void)
#define ONIGENC_CTYPE_PRINT
#define ONIGENC_CASE_MODIFIED
int onig_st_insert_strend(hash_table_type *table, const UChar *str_key, const UChar *end_key, hash_data_type value)
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)
#define POSIX_BRACKET_ENTRY_INIT(name, ctype)
UChar * onigenc_single_byte_left_adjust_char_head(const UChar *start ARG_UNUSED, const UChar *s, const UChar *end ARG_UNUSED, OnigEncoding enc 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 ONIGENC_IS_ASCII_CODE_CTYPE(code, ctype)
int onigenc_minimum_property_name_to_ctype(OnigEncoding enc, const UChar *p, const UChar *end)
int onigenc_with_ascii_strnicmp(OnigEncoding enc, const UChar *p, const UChar *end, const UChar *sascii, int n)
int onigenc_not_support_get_ctype_code_range(OnigCtype ctype ARG_UNUSED, OnigCodePoint *sb_out ARG_UNUSED, const OnigCodePoint *ranges[] ARG_UNUSED, OnigEncoding enc)
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)
#define ONIGENC_CTYPE_SPACE
#define ONIGENC_MBC_MINLEN(enc)
hash_table_type * onig_st_init_strend_table_with_size(st_index_t size)
#define ONIGENC_MBCLEN_NEEDMORE_P(r)
int onigenc_is_mbc_newline_0x0a(const UChar *p, const UChar *end, OnigEncoding enc ARG_UNUSED)
#define ONIGENC_CTYPE_WORD
#define ONIGENC_CTYPE_XDIGIT
#define ONIGENC_CASE_UPCASE
#define ONIGENC_MBC_TO_CODE(enc, p, end)
int onigenc_mb4_is_code_ctype(OnigEncoding enc, OnigCodePoint code, unsigned int ctype)
#define ONIGENC_CASE_FOLD
unsigned char buf[MIME_BUF_SIZE]
int onigenc_single_byte_mbc_enc_len(const UChar *p ARG_UNUSED, const UChar *e ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
#define ONIGENC_CASE_DOWNCASE
#define ONIGENC_CTYPE_LOWER
#define ONIGENC_IS_ASCII_CODE(code)
#define ONIGERR_INVALID_CHAR_PROPERTY_NAME
#define ONIGENC_CASE_TITLECASE
const unsigned short OnigEncAsciiCtypeTable[256]
int onigenc_str_bytelen_null(OnigEncoding enc, const UChar *s)
int onigenc_strlen_null(OnigEncoding enc, const UChar *s)
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)
int onigenc_single_byte_ascii_only_case_map(OnigCaseFoldType *flagP, const OnigUChar **pp, const OnigUChar *end, OnigUChar *to, OnigUChar *to_end, const struct OnigEncodingTypeST *enc)
UChar * onigenc_step(OnigEncoding enc, const UChar *p, const UChar *end, int n)
register unsigned int len
#define ONIGENC_CTYPE_PUNCT
int onigenc_mb4_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf)
#define ONIGENC_CTYPE_BLANK
#define ONIGENC_MBCLEN_CHARFOUND_LEN(r)
#define ONIGENC_CTYPE_GRAPH
#define ONIGERR_TOO_BIG_WIDE_CHAR_VALUE
#define ONIGENC_IS_ASCII_CODE_CASE_AMBIG(code)
#define ONIGENC_CODE_TO_MBC(enc, code, buf)
#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]
#define ONIGENC_CTYPE_CNTRL
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)
int onigenc_mbclen_approximate(const OnigUChar *p, const OnigUChar *e, OnigEncoding enc)
int onigenc_ascii_only_case_map(OnigCaseFoldType *flagP, const OnigUChar **pp, const OnigUChar *end, OnigUChar *to, OnigUChar *to_end, const struct OnigEncodingTypeST *enc)
#define ONIGENC_CTYPE_DIGIT
#define ONIGENC_PRECISE_MBC_ENC_LEN(enc, p, e)
#define ONIG_NO_SUPPORT_CONFIG
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 ONIGENC_CTYPE_UPPER
#define enclen(enc, p, e)
#define ONIGENC_MBCLEN_CHARFOUND_P(r)
const UChar OnigEncISO_8859_1_ToLowerCaseTable[256]
int(* OnigApplyAllCaseFoldFunc)(OnigCodePoint from, OnigCodePoint *to, int to_len, void *arg)
#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[])