13 extern const unsigned char PL_utf8skip
[];
14 extern char PL_dowarn
;
15 extern COP
*volatile PL_curcop
;
16 int S_reginclass (regnode
*);
17 int S_regtry (regexp
*, char *);
18 unsigned long Perl_utf8n_to_uvuni (char *, int, long unsigned int *, int);
20 S_find_byclass (regexp
* prog
, regnode
* c
, char *s
, char *strend
,
21 char *startpos
, int norun
)
23 register long unsigned int uskip
;
29 while (s
+ (uskip
= PL_utf8skip
[*s
]) <= strend
)
31 if (c
->flags
|| S_reginclass (c
))
32 if (norun
|| S_regtry (prog
, s
))
37 long unsigned int len
;
41 c
= Perl_utf8n_to_uvuni (s
, 13, &len
,
42 (((PL_curcop
->cop_warnings
!=
43 ((SV
*) ((void *) 0)))
44 && PL_dowarn
)) ? 0 : 0x00FF);
45 if (c
== 0 && (norun
|| S_regtry (prog
, s
)))
46 if (f
!= c
&& (norun
|| S_regtry (prog
, s
)))
56 Perl_re_intuit_start (regexp
* prog
)
58 S_find_byclass (prog
, 0, 0, 0, 0, 1);
61 Perl_regexec_flags (register regexp
* prog
,
62 register char *strend
)
64 S_find_byclass (prog
, 0, 0, strend
, 0, 0);
67 S_regtry (regexp
* prog
, char *startpos
)