/[pcre]/code/trunk/doc/pcre.txt
ViewVC logotype

Diff of /code/trunk/doc/pcre.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 123 by ph10, Mon Mar 12 15:19:06 2007 UTC revision 128 by ph10, Tue Mar 20 11:46:50 2007 UTC
# Line 244  PCRE BUILD-TIME OPTIONS Line 244  PCRE BUILD-TIME OPTIONS
244    
245           ./configure --help           ./configure --help
246    
247         The following sections describe certain options whose names begin  with         The following sections include  descriptions  of  options  whose  names
248         --enable  or  --disable. These settings specify changes to the defaults         begin with --enable or --disable. These settings specify changes to the
249         for the configure command. Because of the  way  that  configure  works,         defaults for the configure command. Because of the way  that  configure
250         --enable  and  --disable  always  come  in  pairs, so the complementary         works,  --enable  and --disable always come in pairs, so the complemen-
251         option always exists as well, but as it specifies the  default,  it  is         tary option always exists as well, but as it specifies the default,  it
252         not described.         is not described.
253    
254    
255  C++ SUPPORT  C++ SUPPORT
# Line 288  UNICODE CHARACTER PROPERTY SUPPORT Line 288  UNICODE CHARACTER PROPERTY SUPPORT
288         to the configure command. This implies UTF-8 support, even if you  have         to the configure command. This implies UTF-8 support, even if you  have
289         not explicitly requested it.         not explicitly requested it.
290    
291         Including  Unicode  property  support  adds around 90K of tables to the         Including  Unicode  property  support  adds around 30K of tables to the
292         PCRE library, approximately doubling its size. Only the  general  cate-         PCRE library. Only the general category properties such as  Lu  and  Nd
293         gory  properties  such as Lu and Nd are supported. Details are given in         are supported. Details are given in the pcrepattern documentation.
        the pcrepattern documentation.  
294    
295    
296  CODE VALUE OF NEWLINE  CODE VALUE OF NEWLINE
297    
298         By default, PCRE interprets character 10 (linefeed, LF)  as  indicating         By  default,  PCRE interprets character 10 (linefeed, LF) as indicating
299         the  end  of  a line. This is the normal newline character on Unix-like         the end of a line. This is the normal newline  character  on  Unix-like
300         systems. You can compile PCRE to use character 13 (carriage return, CR)         systems. You can compile PCRE to use character 13 (carriage return, CR)
301         instead, by adding         instead, by adding
302    
303           --enable-newline-is-cr           --enable-newline-is-cr
304    
305         to  the  configure  command.  There  is  also  a --enable-newline-is-lf         to the  configure  command.  There  is  also  a  --enable-newline-is-lf
306         option, which explicitly specifies linefeed as the newline character.         option, which explicitly specifies linefeed as the newline character.
307    
308         Alternatively, you can specify that line endings are to be indicated by         Alternatively, you can specify that line endings are to be indicated by
# Line 317  CODE VALUE OF NEWLINE Line 316  CODE VALUE OF NEWLINE
316    
317         which causes PCRE to recognize any Unicode newline sequence.         which causes PCRE to recognize any Unicode newline sequence.
318    
319         Whatever  line  ending convention is selected when PCRE is built can be         Whatever line ending convention is selected when PCRE is built  can  be
320         overridden when the library functions are called. At build time  it  is         overridden  when  the library functions are called. At build time it is
321         conventional to use the standard for your operating system.         conventional to use the standard for your operating system.
322    
323    
324  BUILDING SHARED AND STATIC LIBRARIES  BUILDING SHARED AND STATIC LIBRARIES
325    
326         The  PCRE building process uses libtool to build both shared and static         The PCRE building process uses libtool to build both shared and  static
327         Unix libraries by default. You can suppress one of these by adding  one         Unix  libraries by default. You can suppress one of these by adding one
328         of         of
329    
330           --disable-shared           --disable-shared
# Line 337  BUILDING SHARED AND STATIC LIBRARIES Line 336  BUILDING SHARED AND STATIC LIBRARIES
336  POSIX MALLOC USAGE  POSIX MALLOC USAGE
337    
338         When PCRE is called through the POSIX interface (see the pcreposix doc-         When PCRE is called through the POSIX interface (see the pcreposix doc-
339         umentation), additional working storage is  required  for  holding  the         umentation),  additional  working  storage  is required for holding the
340         pointers  to capturing substrings, because PCRE requires three integers         pointers to capturing substrings, because PCRE requires three  integers
341         per substring, whereas the POSIX interface provides only  two.  If  the         per  substring,  whereas  the POSIX interface provides only two. If the
342         number of expected substrings is small, the wrapper function uses space         number of expected substrings is small, the wrapper function uses space
343         on the stack, because this is faster than using malloc() for each call.         on the stack, because this is faster than using malloc() for each call.
344         The default threshold above which the stack is no longer used is 10; it         The default threshold above which the stack is no longer used is 10; it
# Line 352  POSIX MALLOC USAGE Line 351  POSIX MALLOC USAGE
351    
352  HANDLING VERY LARGE PATTERNS  HANDLING VERY LARGE PATTERNS
353    
354         Within a compiled pattern, offset values are used  to  point  from  one         Within  a  compiled  pattern,  offset values are used to point from one
355         part  to another (for example, from an opening parenthesis to an alter-         part to another (for example, from an opening parenthesis to an  alter-
356         nation metacharacter). By default, two-byte values are used  for  these         nation  metacharacter).  By default, two-byte values are used for these
357         offsets,  leading  to  a  maximum size for a compiled pattern of around         offsets, leading to a maximum size for a  compiled  pattern  of  around
358         64K. This is sufficient to handle all but the most  gigantic  patterns.         64K.  This  is sufficient to handle all but the most gigantic patterns.
359         Nevertheless,  some  people do want to process enormous patterns, so it         Nevertheless, some people do want to process enormous patterns,  so  it
360         is possible to compile PCRE to use three-byte or four-byte  offsets  by         is  possible  to compile PCRE to use three-byte or four-byte offsets by
361         adding a setting such as         adding a setting such as
362    
363           --with-link-size=3           --with-link-size=3
364    
365         to  the  configure  command.  The value given must be 2, 3, or 4. Using         to the configure command. The value given must be 2,  3,  or  4.  Using
366         longer offsets slows down the operation of PCRE because it has to  load         longer  offsets slows down the operation of PCRE because it has to load
367         additional bytes when handling them.         additional bytes when handling them.
368    
        If  you  build  PCRE with an increased link size, test 2 (and test 5 if  
        you are using UTF-8) will fail. Part of the output of these tests is  a  
        representation  of the compiled pattern, and this changes with the link  
        size.  
   
369    
370  AVOIDING EXCESSIVE STACK USAGE  AVOIDING EXCESSIVE STACK USAGE
371    
# Line 429  LIMITING PCRE RESOURCE USAGE Line 423  LIMITING PCRE RESOURCE USAGE
423         time.         time.
424    
425    
426    CREATING CHARACTER TABLES AT BUILD TIME
427    
428           PCRE uses fixed tables for processing characters whose code values  are
429           less  than 256. By default, PCRE is built with a set of tables that are
430           distributed in the file pcre_chartables.c.dist. These  tables  are  for
431           ASCII codes only. If you add
432    
433             --enable-rebuild-chartables
434    
435           to  the  configure  command, the distributed tables are no longer used.
436           Instead, a program called dftables is compiled and  run.  This  outputs
437           the source for new set of tables, created in the default locale of your
438           C runtime system. (This method of replacing the tables does not work if
439           you  are cross compiling, because dftables is run on the local host. If
440           you need to create alternative tables when cross  compiling,  you  will
441           have to do so "by hand".)
442    
443    
444  USING EBCDIC CODE  USING EBCDIC CODE
445    
446         PCRE assumes by default that it will run in an  environment  where  the         PCRE  assumes  by  default that it will run in an environment where the
447         character  code  is  ASCII  (or Unicode, which is a superset of ASCII).         character code is ASCII (or Unicode, which is  a  superset  of  ASCII).
448         PCRE can, however, be compiled to  run  in  an  EBCDIC  environment  by         PCRE  can,  however,  be  compiled  to  run in an EBCDIC environment by
449         adding         adding
450    
451           --enable-ebcdic           --enable-ebcdic
452    
453         to the configure command.         to the configure command. This setting implies --enable-rebuild-charta-
454           bles.
455    
456    
457  SEE ALSO  SEE ALSO
# Line 455  AUTHOR Line 468  AUTHOR
468    
469  REVISION  REVISION
470    
471         Last updated: 06 March 2007         Last updated: 20 March 2007
472         Copyright (c) 1997-2007 University of Cambridge.         Copyright (c) 1997-2007 University of Cambridge.
473  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
474    
# Line 2132  EXTRACTING CAPTURED SUBSTRINGS BY NAME Line 2145  EXTRACTING CAPTURED SUBSTRINGS BY NAME
2145    
2146         These  functions call pcre_get_stringnumber(), and if it succeeds, they         These  functions call pcre_get_stringnumber(), and if it succeeds, they
2147         then call pcre_copy_substring() or pcre_get_substring(),  as  appropri-         then call pcre_copy_substring() or pcre_get_substring(),  as  appropri-
2148         ate.         ate.  NOTE:  If PCRE_DUPNAMES is set and there are duplicate names, the
2149           behaviour may not be what you want (see the next section).
2150    
2151    
2152  DUPLICATE SUBPATTERN NAMES  DUPLICATE SUBPATTERN NAMES
# Line 2140  DUPLICATE SUBPATTERN NAMES Line 2154  DUPLICATE SUBPATTERN NAMES
2154         int pcre_get_stringtable_entries(const pcre *code,         int pcre_get_stringtable_entries(const pcre *code,
2155              const char *name, char **first, char **last);              const char *name, char **first, char **last);
2156    
2157         When  a  pattern  is  compiled with the PCRE_DUPNAMES option, names for         When a pattern is compiled with the  PCRE_DUPNAMES  option,  names  for
2158         subpatterns are not required to  be  unique.  Normally,  patterns  with         subpatterns  are  not  required  to  be unique. Normally, patterns with
2159         duplicate  names  are such that in any one match, only one of the named         duplicate names are such that in any one match, only one of  the  named
2160         subpatterns participates. An example is shown in the pcrepattern  docu-         subpatterns  participates. An example is shown in the pcrepattern docu-
2161         mentation. When duplicates are present, pcre_copy_named_substring() and         mentation. When duplicates are present, pcre_copy_named_substring() and
2162         pcre_get_named_substring() return the first substring corresponding  to         pcre_get_named_substring()  return the first substring corresponding to
2163         the  given  name  that  is  set.  If  none  are set, an empty string is         the given name that is set.  If  none  are  set,  an  empty  string  is
2164         returned.  The pcre_get_stringnumber() function returns one of the num-         returned.  The pcre_get_stringnumber() function returns one of the num-
2165         bers  that are associated with the name, but it is not defined which it         bers that are associated with the name, but it is not defined which  it
2166         is.         is.
2167    
2168         If you want to get full details of all captured substrings for a  given         If  you want to get full details of all captured substrings for a given
2169         name,  you  must  use  the pcre_get_stringtable_entries() function. The         name, you must use  the  pcre_get_stringtable_entries()  function.  The
2170         first argument is the compiled pattern, and the second is the name. The         first argument is the compiled pattern, and the second is the name. The
2171         third  and  fourth  are  pointers to variables which are updated by the         third and fourth are pointers to variables which  are  updated  by  the
2172         function. After it has run, they point to the first and last entries in         function. After it has run, they point to the first and last entries in
2173         the  name-to-number  table  for  the  given  name.  The function itself         the name-to-number table  for  the  given  name.  The  function  itself
2174         returns the length of each entry,  or  PCRE_ERROR_NOSUBSTRING  (-7)  if         returns  the  length  of  each entry, or PCRE_ERROR_NOSUBSTRING (-7) if
2175         there  are none. The format of the table is described above in the sec-         there are none. The format of the table is described above in the  sec-
2176         tion entitled Information about a  pattern.   Given  all  the  relevant         tion  entitled  Information  about  a  pattern.  Given all the relevant
2177         entries  for the name, you can extract each of their numbers, and hence         entries for the name, you can extract each of their numbers, and  hence
2178         the captured data, if any.         the captured data, if any.
2179    
2180    
2181  FINDING ALL POSSIBLE MATCHES  FINDING ALL POSSIBLE MATCHES
2182    
2183         The traditional matching function uses a  similar  algorithm  to  Perl,         The  traditional  matching  function  uses a similar algorithm to Perl,
2184         which stops when it finds the first match, starting at a given point in         which stops when it finds the first match, starting at a given point in
2185         the subject. If you want to find all possible matches, or  the  longest         the  subject.  If you want to find all possible matches, or the longest
2186         possible  match,  consider using the alternative matching function (see         possible match, consider using the alternative matching  function  (see
2187         below) instead. If you cannot use the alternative function,  but  still         below)  instead.  If you cannot use the alternative function, but still
2188         need  to  find all possible matches, you can kludge it up by making use         need to find all possible matches, you can kludge it up by  making  use
2189         of the callout facility, which is described in the pcrecallout documen-         of the callout facility, which is described in the pcrecallout documen-
2190         tation.         tation.
2191    
2192         What you have to do is to insert a callout right at the end of the pat-         What you have to do is to insert a callout right at the end of the pat-
2193         tern.  When your callout function is called, extract and save the  cur-         tern.   When your callout function is called, extract and save the cur-
2194         rent  matched  substring.  Then  return  1, which forces pcre_exec() to         rent matched substring. Then return  1,  which  forces  pcre_exec()  to
2195         backtrack and try other alternatives. Ultimately, when it runs  out  of         backtrack  and  try other alternatives. Ultimately, when it runs out of
2196         matches, pcre_exec() will yield PCRE_ERROR_NOMATCH.         matches, pcre_exec() will yield PCRE_ERROR_NOMATCH.
2197    
2198    
# Line 2189  MATCHING A PATTERN: THE ALTERNATIVE FUNC Line 2203  MATCHING A PATTERN: THE ALTERNATIVE FUNC
2203              int options, int *ovector, int ovecsize,              int options, int *ovector, int ovecsize,
2204              int *workspace, int wscount);              int *workspace, int wscount);
2205    
2206         The  function  pcre_dfa_exec()  is  called  to  match  a subject string         The function pcre_dfa_exec()  is  called  to  match  a  subject  string
2207         against a compiled pattern, using a matching algorithm that  scans  the         against  a  compiled pattern, using a matching algorithm that scans the
2208         subject  string  just  once, and does not backtrack. This has different         subject string just once, and does not backtrack.  This  has  different
2209         characteristics to the normal algorithm, and  is  not  compatible  with         characteristics  to  the  normal  algorithm, and is not compatible with
2210         Perl.  Some  of the features of PCRE patterns are not supported. Never-         Perl. Some of the features of PCRE patterns are not  supported.  Never-
2211         theless, there are times when this kind of matching can be useful.  For         theless,  there are times when this kind of matching can be useful. For
2212         a discussion of the two matching algorithms, see the pcrematching docu-         a discussion of the two matching algorithms, see the pcrematching docu-
2213         mentation.         mentation.
2214    
2215         The arguments for the pcre_dfa_exec() function  are  the  same  as  for         The  arguments  for  the  pcre_dfa_exec()  function are the same as for
2216         pcre_exec(), plus two extras. The ovector argument is used in a differ-         pcre_exec(), plus two extras. The ovector argument is used in a differ-
2217         ent way, and this is described below. The other  common  arguments  are         ent  way,  and  this is described below. The other common arguments are
2218         used  in  the  same way as for pcre_exec(), so their description is not         used in the same way as for pcre_exec(), so their  description  is  not
2219         repeated here.         repeated here.
2220    
2221         The two additional arguments provide workspace for  the  function.  The         The  two  additional  arguments provide workspace for the function. The
2222         workspace  vector  should  contain at least 20 elements. It is used for         workspace vector should contain at least 20 elements. It  is  used  for
2223         keeping  track  of  multiple  paths  through  the  pattern  tree.  More         keeping  track  of  multiple  paths  through  the  pattern  tree.  More
2224         workspace  will  be  needed for patterns and subjects where there are a         workspace will be needed for patterns and subjects where  there  are  a
2225         lot of potential matches.         lot of potential matches.
2226    
2227         Here is an example of a simple call to pcre_dfa_exec():         Here is an example of a simple call to pcre_dfa_exec():
# Line 2229  MATCHING A PATTERN: THE ALTERNATIVE FUNC Line 2243  MATCHING A PATTERN: THE ALTERNATIVE FUNC
2243    
2244     Option bits for pcre_dfa_exec()     Option bits for pcre_dfa_exec()
2245    
2246         The unused bits of the options argument  for  pcre_dfa_exec()  must  be         The  unused  bits  of  the options argument for pcre_dfa_exec() must be
2247         zero.  The  only  bits  that  may  be  set are PCRE_ANCHORED, PCRE_NEW-         zero. The only bits  that  may  be  set  are  PCRE_ANCHORED,  PCRE_NEW-
2248         LINE_xxx, PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY,  PCRE_NO_UTF8_CHECK,         LINE_xxx,  PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NO_UTF8_CHECK,
2249         PCRE_PARTIAL, PCRE_DFA_SHORTEST, and PCRE_DFA_RESTART. All but the last         PCRE_PARTIAL, PCRE_DFA_SHORTEST, and PCRE_DFA_RESTART. All but the last
2250         three of these are the same as for pcre_exec(), so their description is         three of these are the same as for pcre_exec(), so their description is
2251         not repeated here.         not repeated here.
2252    
2253           PCRE_PARTIAL           PCRE_PARTIAL
2254    
2255         This  has  the  same general effect as it does for pcre_exec(), but the         This has the same general effect as it does for  pcre_exec(),  but  the
2256         details  are  slightly  different.  When  PCRE_PARTIAL   is   set   for         details   are   slightly   different.  When  PCRE_PARTIAL  is  set  for
2257         pcre_dfa_exec(),  the  return code PCRE_ERROR_NOMATCH is converted into         pcre_dfa_exec(), the return code PCRE_ERROR_NOMATCH is  converted  into
2258         PCRE_ERROR_PARTIAL if the end of the subject  is  reached,  there  have         PCRE_ERROR_PARTIAL  if  the  end  of the subject is reached, there have
2259         been no complete matches, but there is still at least one matching pos-         been no complete matches, but there is still at least one matching pos-
2260         sibility. The portion of the string that provided the partial match  is         sibility.  The portion of the string that provided the partial match is
2261         set as the first matching string.         set as the first matching string.
2262    
2263           PCRE_DFA_SHORTEST           PCRE_DFA_SHORTEST
2264    
2265         Setting  the  PCRE_DFA_SHORTEST option causes the matching algorithm to         Setting the PCRE_DFA_SHORTEST option causes the matching  algorithm  to
2266         stop as soon as it has found one match. Because of the way the alterna-         stop as soon as it has found one match. Because of the way the alterna-
2267         tive  algorithm  works, this is necessarily the shortest possible match         tive algorithm works, this is necessarily the shortest  possible  match
2268         at the first possible matching point in the subject string.         at the first possible matching point in the subject string.
2269    
2270           PCRE_DFA_RESTART           PCRE_DFA_RESTART
2271    
2272         When pcre_dfa_exec()  is  called  with  the  PCRE_PARTIAL  option,  and         When  pcre_dfa_exec()  is  called  with  the  PCRE_PARTIAL  option, and
2273         returns  a  partial  match, it is possible to call it again, with addi-         returns a partial match, it is possible to call it  again,  with  addi-
2274         tional subject characters, and have it continue with  the  same  match.         tional  subject  characters,  and have it continue with the same match.
2275         The  PCRE_DFA_RESTART  option requests this action; when it is set, the         The PCRE_DFA_RESTART option requests this action; when it is  set,  the
2276         workspace and wscount options must reference the same vector as  before         workspace  and wscount options must reference the same vector as before
2277         because  data  about  the  match so far is left in them after a partial         because data about the match so far is left in  them  after  a  partial
2278         match. There is more discussion of this  facility  in  the  pcrepartial         match.  There  is  more  discussion of this facility in the pcrepartial
2279         documentation.         documentation.
2280    
2281     Successful returns from pcre_dfa_exec()     Successful returns from pcre_dfa_exec()
2282    
2283         When  pcre_dfa_exec()  succeeds, it may have matched more than one sub-         When pcre_dfa_exec() succeeds, it may have matched more than  one  sub-
2284         string in the subject. Note, however, that all the matches from one run         string in the subject. Note, however, that all the matches from one run
2285         of  the  function  start  at the same point in the subject. The shorter         of the function start at the same point in  the  subject.  The  shorter
2286         matches are all initial substrings of the longer matches. For  example,         matches  are all initial substrings of the longer matches. For example,
2287         if the pattern         if the pattern
2288    
2289           <.*>           <.*>
# Line 2284  MATCHING A PATTERN: THE ALTERNATIVE FUNC Line 2298  MATCHING A PATTERN: THE ALTERNATIVE FUNC
2298           <something> <something else>           <something> <something else>
2299           <something> <something else> <something further>           <something> <something else> <something further>
2300    
2301         On  success,  the  yield of the function is a number greater than zero,         On success, the yield of the function is a number  greater  than  zero,
2302         which is the number of matched substrings.  The  substrings  themselves         which  is  the  number of matched substrings. The substrings themselves
2303         are  returned  in  ovector. Each string uses two elements; the first is         are returned in ovector. Each string uses two elements;  the  first  is
2304         the offset to the start, and the second is the offset to  the  end.  In         the  offset  to  the start, and the second is the offset to the end. In
2305         fact,  all  the  strings  have the same start offset. (Space could have         fact, all the strings have the same start  offset.  (Space  could  have
2306         been saved by giving this only once, but it was decided to retain  some         been  saved by giving this only once, but it was decided to retain some
2307         compatibility  with  the  way pcre_exec() returns data, even though the         compatibility with the way pcre_exec() returns data,  even  though  the
2308         meaning of the strings is different.)         meaning of the strings is different.)
2309    
2310         The strings are returned in reverse order of length; that is, the long-         The strings are returned in reverse order of length; that is, the long-
2311         est  matching  string is given first. If there were too many matches to         est matching string is given first. If there were too many  matches  to
2312         fit into ovector, the yield of the function is zero, and the vector  is         fit  into ovector, the yield of the function is zero, and the vector is
2313         filled with the longest matches.         filled with the longest matches.
2314    
2315     Error returns from pcre_dfa_exec()     Error returns from pcre_dfa_exec()
2316    
2317         The  pcre_dfa_exec()  function returns a negative number when it fails.         The pcre_dfa_exec() function returns a negative number when  it  fails.
2318         Many of the errors are the same  as  for  pcre_exec(),  and  these  are         Many  of  the  errors  are  the  same as for pcre_exec(), and these are
2319         described  above.   There are in addition the following errors that are         described above.  There are in addition the following errors  that  are
2320         specific to pcre_dfa_exec():         specific to pcre_dfa_exec():
2321    
2322           PCRE_ERROR_DFA_UITEM      (-16)           PCRE_ERROR_DFA_UITEM      (-16)
2323    
2324         This return is given if pcre_dfa_exec() encounters an item in the  pat-         This  return is given if pcre_dfa_exec() encounters an item in the pat-
2325         tern  that  it  does not support, for instance, the use of \C or a back         tern that it does not support, for instance, the use of \C  or  a  back
2326         reference.         reference.
2327    
2328           PCRE_ERROR_DFA_UCOND      (-17)           PCRE_ERROR_DFA_UCOND      (-17)
2329    
2330         This return is given if pcre_dfa_exec()  encounters  a  condition  item         This  return  is  given  if pcre_dfa_exec() encounters a condition item
2331         that  uses  a back reference for the condition, or a test for recursion         that uses a back reference for the condition, or a test  for  recursion
2332         in a specific group. These are not supported.         in a specific group. These are not supported.
2333    
2334           PCRE_ERROR_DFA_UMLIMIT    (-18)           PCRE_ERROR_DFA_UMLIMIT    (-18)
2335    
2336         This return is given if pcre_dfa_exec() is called with an  extra  block         This  return  is given if pcre_dfa_exec() is called with an extra block
2337         that contains a setting of the match_limit field. This is not supported         that contains a setting of the match_limit field. This is not supported
2338         (it is meaningless).         (it is meaningless).
2339    
2340           PCRE_ERROR_DFA_WSSIZE     (-19)           PCRE_ERROR_DFA_WSSIZE     (-19)
2341    
2342         This return is given if  pcre_dfa_exec()  runs  out  of  space  in  the         This  return  is  given  if  pcre_dfa_exec()  runs  out of space in the
2343         workspace vector.         workspace vector.
2344    
2345           PCRE_ERROR_DFA_RECURSE    (-20)           PCRE_ERROR_DFA_RECURSE    (-20)
2346    
2347         When  a  recursive subpattern is processed, the matching function calls         When a recursive subpattern is processed, the matching  function  calls
2348         itself recursively, using private vectors for  ovector  and  workspace.         itself  recursively,  using  private vectors for ovector and workspace.
2349         This  error  is  given  if  the output vector is not large enough. This         This error is given if the output vector  is  not  large  enough.  This
2350         should be extremely rare, as a vector of size 1000 is used.         should be extremely rare, as a vector of size 1000 is used.
2351    
2352    
2353  SEE ALSO  SEE ALSO
2354    
2355         pcrebuild(3), pcrecallout(3), pcrecpp(3)(3), pcrematching(3),  pcrepar-         pcrebuild(3),  pcrecallout(3), pcrecpp(3)(3), pcrematching(3), pcrepar-
2356         tial(3),  pcreposix(3), pcreprecompile(3), pcresample(3), pcrestack(3).         tial(3), pcreposix(3), pcreprecompile(3), pcresample(3),  pcrestack(3).
2357    
2358    
2359  AUTHOR  AUTHOR

Legend:
Removed from v.123  
changed lines
  Added in v.128

  ViewVC Help
Powered by ViewVC 1.1.5