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

Diff of /code/trunk/pcre_dfa_exec.c

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

revision 117 by ph10, Fri Mar 9 15:59:06 2007 UTC revision 145 by ph10, Wed Apr 4 14:06:52 2007 UTC
# Line 2073  Returns: > 0 => number of match Line 2073  Returns: > 0 => number of match
2073                   < -1 => some kind of unexpected problem                   < -1 => some kind of unexpected problem
2074  */  */
2075    
2076  PCRE_DATA_SCOPE int  PCRE_EXP_DEFN int
2077  pcre_dfa_exec(const pcre *argument_re, const pcre_extra *extra_data,  pcre_dfa_exec(const pcre *argument_re, const pcre_extra *extra_data,
2078    const char *subject, int length, int start_offset, int options, int *offsets,    const char *subject, int length, int start_offset, int options, int *offsets,
2079    int offsetcount, int *workspace, int wscount)    int offsetcount, int *workspace, int wscount)
# Line 2166  md->poptions = re->options; Line 2166  md->poptions = re->options;
2166  /* Handle different types of newline. The three bits give eight cases. If  /* Handle different types of newline. The three bits give eight cases. If
2167  nothing is set at run time, whatever was used at compile time applies. */  nothing is set at run time, whatever was used at compile time applies. */
2168    
2169  switch ((((options & PCRE_NEWLINE_BITS) == 0)? re->options : options) &  switch ((((options & PCRE_NEWLINE_BITS) == 0)? re->options : (pcre_uint32)options) &
2170           PCRE_NEWLINE_BITS)           PCRE_NEWLINE_BITS)
2171    {    {
2172    case 0: newline = NEWLINE; break;   /* Compile-time default */    case 0: newline = NEWLINE; break;   /* Compile-time default */
# Line 2308  for (;;) Line 2308  for (;;)
2308          {          {
2309          while (current_subject <= end_subject && !WAS_NEWLINE(current_subject))          while (current_subject <= end_subject && !WAS_NEWLINE(current_subject))
2310            current_subject++;            current_subject++;
2311    
2312            /* If we have just passed a CR and the newline option is ANY, and we
2313            are now at a LF, advance the match position by one more character. */
2314    
2315            if (current_subject[-1] == '\r' &&
2316                 md->nltype == NLTYPE_ANY &&
2317                 current_subject < end_subject &&
2318                 *current_subject == '\n')
2319              current_subject++;
2320          }          }
2321        }        }
2322    

Legend:
Removed from v.117  
changed lines
  Added in v.145

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12