X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regcomp.h;h=3aa5c1e18bb66bbc533b8b477b8f1d421f64f76c;hb=8bbf3450a1ff0a3996dade29a4194cc0939d871f;hp=16cf957816747f6aedb369cd9f17a9b7d65e25fc;hpb=e2e799e5172c5070fc2dea2f53b2d660fbd52204;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regcomp.h b/regcomp.h index 16cf957..3aa5c1e 100644 --- a/regcomp.h +++ b/regcomp.h @@ -1,4 +1,11 @@ /* regcomp.h + * + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others + * + * You may distribute under the terms of either the GNU General Public + * License or the Artistic License, as specified in the README file. + * */ typedef OP OP_4tree; /* Will be redefined later. */ @@ -365,7 +372,9 @@ typedef struct re_scream_pos_data_s * n - Root of op tree for (?{EVAL}) item * o - Start op for (?{EVAL}) item * p - Pad for (?{EVAL} item - * s - swash for unicode-style character class + * s - swash for unicode-style character class, and the multicharacter + * strings resulting from casefolding the single-character entries + * in the character class * 20010712 mjd@plover.com * (Remember to update re_dup() and pregfree() if you add any items.) */ @@ -378,7 +387,8 @@ struct reg_data { struct reg_substr_datum { I32 min_offset; I32 max_offset; - SV *substr; + SV *substr; /* non-utf8 variant */ + SV *utf8_substr; /* utf8 variant */ }; struct reg_substr_data { @@ -386,10 +396,13 @@ struct reg_substr_data { }; #define anchored_substr substrs->data[0].substr +#define anchored_utf8 substrs->data[0].utf8_substr #define anchored_offset substrs->data[0].min_offset #define float_substr substrs->data[1].substr +#define float_utf8 substrs->data[1].utf8_substr #define float_min_offset substrs->data[1].min_offset #define float_max_offset substrs->data[1].max_offset #define check_substr substrs->data[2].substr +#define check_utf8 substrs->data[2].utf8_substr #define check_offset_min substrs->data[2].min_offset #define check_offset_max substrs->data[2].max_offset