X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/a3621e74372f5d2c10ed0d2a21195cab42a5be54..3d42dc86375a150e698f9a14ae6be7a37e2ed575:/regcomp.h diff --git a/regcomp.h b/regcomp.h index 94e54e8..35a144fb 100644 --- a/regcomp.h +++ b/regcomp.h @@ -1,7 +1,7 @@ /* regcomp.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - * 2000, 2001, 2002, 2003, by Larry Wall and others + * 2000, 2001, 2002, 2003, 2005 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. @@ -311,7 +311,7 @@ struct regnode_charclass_class { /* has [[:blah:]] classes */ */ #ifndef lint #ifndef CHARMASK -#define UCHARAT(p) ((int)*(U8*)(p)) +#define UCHARAT(p) ((int)*(const U8*)(p)) #else #define UCHARAT(p) ((int)*(p)&CHARMASK) #endif @@ -337,7 +337,7 @@ START_EXTERN_C EXTCONST U8 PL_varies[]; #else EXTCONST U8 PL_varies[] = { - BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL, + BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL, WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, CLUMP, 0 }; #endif @@ -369,7 +369,7 @@ typedef struct re_scream_pos_data_s /* .what is a character array with one character for each member of .data * The character describes the function of the corresponding .data item: - * f - start-class data for regstclass optimization + * f - start-class data for regstclass optimization * n - Root of op tree for (?{EVAL}) item * o - Start op for (?{EVAL}) item * p - Pad for (?{EVAL} item @@ -463,6 +463,7 @@ struct _reg_trie_data { U16 wordcount; STRLEN charcount; U32 laststate; + U32 lasttrans; U16 *charmap; HV *widecharmap; reg_trie_state *states; @@ -484,9 +485,8 @@ typedef struct _reg_trie_data reg_trie_data; #define DO_TRIE 1 #define TRIE_DEBUG 1 - -#define TRIE_SIMPLE_MAX_BUFF 65536 -#define RE_TRIE_MAXBUFF "\022E_TRIE_MAXBUFF" +#define RE_TRIE_MAXBUF_INIT 65536 +#define RE_TRIE_MAXBUF_NAME "\022E_TRIE_MAXBUF" #define RE_DEBUG_FLAGS "\022E_DEBUG_FLAGS" /* If you change these be sure to update ext/re/re.pm as well */ @@ -528,7 +528,7 @@ typedef struct _reg_trie_data reg_trie_data; #ifdef DEBUGGING -#define GET_RE_DEBUG_FLAGS_DECL SV *re_debug_flags; GET_RE_DEBUG_FLAGS; +#define GET_RE_DEBUG_FLAGS_DECL SV *re_debug_flags = NULL; GET_RE_DEBUG_FLAGS; #else #define GET_RE_DEBUG_FLAGS_DECL #endif