/[pcre]/code/trunk/pcredemo.c
ViewVC logotype

Diff of /code/trunk/pcredemo.c

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

revision 319 by ph10, Mon Jan 28 15:27:45 2008 UTC revision 442 by ph10, Fri Sep 11 10:21:02 2009 UTC
# Line 223  if (namecount <= 0) printf("No named sub Line 223  if (namecount <= 0) printf("No named sub
223  *                                                                        *  *                                                                        *
224  * If the previous match WAS for an empty string, we can't do that, as it *  * If the previous match WAS for an empty string, we can't do that, as it *
225  * would lead to an infinite loop. Instead, a special call of pcre_exec() *  * would lead to an infinite loop. Instead, a special call of pcre_exec() *
226  * is made with the PCRE_NOTEMPTY and PCRE_ANCHORED flags set. The first  *  * is made with the PCRE_NOTEMPTY_ATSTART and PCRE_ANCHORED flags set.    *
227  * of these tells PCRE that an empty string is not a valid match; other   *  * The first of these tells PCRE that an empty string at the start of the *
228  * possibilities must be tried. The second flag restricts PCRE to one     *  * subject is not a valid match; other possibilities must be tried. The   *
229  * match attempt at the initial string position. If this match succeeds,  *  * second flag restricts PCRE to one match attempt at the initial string  *
230  * an alternative to the empty string match has been found, and we can    *  * position. If this match succeeds, an alternative to the empty string   *
231  * proceed round the loop.                                                *  * match has been found, and we can proceed round the loop.               *
232  *************************************************************************/  *************************************************************************/
233    
234  if (!find_all)  if (!find_all)
# Line 251  for (;;) Line 251  for (;;)
251    if (ovector[0] == ovector[1])    if (ovector[0] == ovector[1])
252      {      {
253      if (ovector[0] == subject_length) break;      if (ovector[0] == subject_length) break;
254      options = PCRE_NOTEMPTY | PCRE_ANCHORED;      options = PCRE_NOTEMPTY_ATSTART | PCRE_ANCHORED;
255      }      }
256    
257    /* Run the next matching operation */    /* Run the next matching operation */

Legend:
Removed from v.319  
changed lines
  Added in v.442

  ViewVC Help
Powered by ViewVC 1.1.5