/[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 1218 by ph10, Sun Nov 11 17:27:22 2012 UTC revision 1221 by ph10, Sun Nov 11 20:27:03 2012 UTC
# Line 199  if (caseless) Line 199  if (caseless)
199        GETCHARINC(c, eptr);        GETCHARINC(c, eptr);
200        GETCHARINC(d, p);        GETCHARINC(d, p);
201        ur = GET_UCD(d);        ur = GET_UCD(d);
202        if (c != d && c != d + ur->other_case)        if (c != d && c != d + ur->other_case)
203          {          {
204          const pcre_uint32 *pp = PRIV(ucd_caseless_sets) + ur->caseset;          const pcre_uint32 *pp = PRIV(ucd_caseless_sets) + ur->caseset;
205          for (;;)          for (;;)
206            {            {
207            if (c < *pp) return -1;            if (c < *pp) return -1;
# Line 2532  for (;;) Line 2532  for (;;)
2532        }        }
2533      GETCHARINCTEST(c, eptr);      GETCHARINCTEST(c, eptr);
2534        {        {
2535        const pcre_uint32 *cp;        const pcre_uint32 *cp;
2536        const ucd_record *prop = GET_UCD(c);        const ucd_record *prop = GET_UCD(c);
2537    
2538        switch(ecode[1])        switch(ecode[1])
# Line 4203  for (;;) Line 4203  for (;;)
4203                RRETURN(MATCH_NOMATCH);                RRETURN(MATCH_NOMATCH);
4204              }              }
4205            break;            break;
4206    
4207            case PT_CLIST:            case PT_CLIST:
4208            for (i = 1; i <= min; i++)            for (i = 1; i <= min; i++)
4209              {              {
4210              const pcre_uint32 *cp;              const pcre_uint32 *cp;
4211              if (eptr >= md->end_subject)              if (eptr >= md->end_subject)
4212                {                {
# Line 4217  for (;;) Line 4217  for (;;)
4217              cp = PRIV(ucd_caseless_sets) + prop_value;              cp = PRIV(ucd_caseless_sets) + prop_value;
4218              for (;;)              for (;;)
4219                {                {
4220                if (c < *cp)                if (c < *cp)
4221                  { if (prop_fail_result) break; else { RRETURN(MATCH_NOMATCH); } }                  { if (prop_fail_result) break; else { RRETURN(MATCH_NOMATCH); } }
4222                if (c == *cp++)                if (c == *cp++)
4223                  { if (prop_fail_result) { RRETURN(MATCH_NOMATCH); } else break; }                  { if (prop_fail_result) { RRETURN(MATCH_NOMATCH); } else break; }
4224                }                }
4225              }              }
4226            break;            break;
4227    
4228            /* This should not occur */            /* This should not occur */
4229    
4230            default:            default:
# Line 4954  for (;;) Line 4954  for (;;)
4954    
4955            case PT_CLIST:            case PT_CLIST:
4956            for (fi = min;; fi++)            for (fi = min;; fi++)
4957              {              {
4958              const pcre_uint32 *cp;              const pcre_uint32 *cp;
4959              RMATCH(eptr, ecode, offset_top, md, eptrb, RM67);              RMATCH(eptr, ecode, offset_top, md, eptrb, RM67);
4960              if (rrc != MATCH_NOMATCH) RRETURN(rrc);              if (rrc != MATCH_NOMATCH) RRETURN(rrc);
# Line 5445  for (;;) Line 5445  for (;;)
5445              eptr+= len;              eptr+= len;
5446              }              }
5447            break;            break;
5448    
5449            case PT_CLIST:            case PT_CLIST:
5450            for (i = min; i < max; i++)            for (i = min; i < max; i++)
5451              {              {
# Line 5460  for (;;) Line 5460  for (;;)
5460              cp = PRIV(ucd_caseless_sets) + prop_value;              cp = PRIV(ucd_caseless_sets) + prop_value;
5461              for (;;)              for (;;)
5462                {                {
5463                if (c < *cp)                if (c < *cp)
5464                  { if (prop_fail_result) break; else goto GOT_MAX; }                  { if (prop_fail_result) break; else goto GOT_MAX; }
5465                if (c == *cp++)                if (c == *cp++)
5466                  { if (prop_fail_result) goto GOT_MAX; else break; }                  { if (prop_fail_result) goto GOT_MAX; else break; }
5467                }                }
5468              eptr += len;              eptr += len;
5469              }              }
5470            GOT_MAX:            GOT_MAX:
5471            break;            break;
5472    
5473            default:            default:

Legend:
Removed from v.1218  
changed lines
  Added in v.1221

  ViewVC Help
Powered by ViewVC 1.1.5