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

Diff of /code/trunk/pcre_exec.c

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

revision 199 by ph10, Tue Jul 31 14:39:09 2007 UTC revision 207 by ph10, Mon Aug 6 09:32:14 2007 UTC
# Line 42  POSSIBILITY OF SUCH DAMAGE. Line 42  POSSIBILITY OF SUCH DAMAGE.
42  pattern matching using an NFA algorithm, trying to mimic Perl as closely as  pattern matching using an NFA algorithm, trying to mimic Perl as closely as
43  possible. There are also some static supporting functions. */  possible. There are also some static supporting functions. */
44    
45  #ifdef HAVE_CONFIG_H  #ifdef HAVE_CONFIG_H
46  #include <config.h>  #include <config.h>
47  #endif  #endif
48    
49  #define NLBLOCK md             /* Block containing newline information */  #define NLBLOCK md             /* Block containing newline information */
50  #define PSSTART start_subject  /* Field containing processed string start */  #define PSSTART start_subject  /* Field containing processed string start */
# Line 609  for (;;) Line 609  for (;;)
609        eptr >= md->end_subject &&        eptr >= md->end_subject &&
610        eptr > mstart)        eptr > mstart)
611      md->hitend = TRUE;      md->hitend = TRUE;
612    
613    switch(op)    switch(op)
614      {      {
615      /* Handle a capturing bracket. If there is space in the offset vector, save      /* Handle a capturing bracket. If there is space in the offset vector, save
# Line 895  for (;;) Line 895  for (;;)
895          {          {
896          eptr--;          eptr--;
897          if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);          if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);
898          BACKCHAR(eptr)          BACKCHAR(eptr);
899          }          }
900        }        }
901      else      else
# Line 2050  for (;;) Line 2050  for (;;)
2050            RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM21);            RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM21);
2051            if (rrc != MATCH_NOMATCH) RRETURN(rrc);            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
2052            if (eptr-- == pp) break;        /* Stop if tried at original pos */            if (eptr-- == pp) break;        /* Stop if tried at original pos */
2053            BACKCHAR(eptr)            BACKCHAR(eptr);
2054            }            }
2055          RRETURN(MATCH_NOMATCH);          RRETURN(MATCH_NOMATCH);
2056          }          }
# Line 3719  for (;;) Line 3719  for (;;)
3719            RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM44);            RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM44);
3720            if (rrc != MATCH_NOMATCH) RRETURN(rrc);            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
3721            if (eptr-- == pp) break;        /* Stop if tried at original pos */            if (eptr-- == pp) break;        /* Stop if tried at original pos */
3722            BACKCHAR(eptr);            if (utf8) BACKCHAR(eptr);
3723            }            }
3724          }          }
3725    
# Line 3758  for (;;) Line 3758  for (;;)
3758            for (;;)                        /* Move back over one extended */            for (;;)                        /* Move back over one extended */
3759              {              {
3760              int len = 1;              int len = 1;
             BACKCHAR(eptr);  
3761              if (!utf8) c = *eptr; else              if (!utf8) c = *eptr; else
3762                {                {
3763                  BACKCHAR(eptr);
3764                GETCHARLEN(c, eptr, len);                GETCHARLEN(c, eptr, len);
3765                }                }
3766              prop_category = _pcre_ucp_findprop(c, &prop_chartype, &prop_script);              prop_category = _pcre_ucp_findprop(c, &prop_chartype, &prop_script);
# Line 3999  for (;;) Line 3999  for (;;)
3999            }            }
4000          }          }
4001        else        else
4002  #endif  #endif  /* SUPPORT_UTF8 */
4003    
4004        /* Not UTF-8 mode */        /* Not UTF-8 mode */
4005          {          {

Legend:
Removed from v.199  
changed lines
  Added in v.207

  ViewVC Help
Powered by ViewVC 1.1.5