/[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 976 by ph10, Sat Jun 16 17:53:17 2012 UTC revision 1011 by ph10, Sat Aug 25 11:36:15 2012 UTC
# Line 2641  for (;;) Line 2641  for (;;)
2641        SCHECK_PARTIAL();        SCHECK_PARTIAL();
2642        RRETURN(MATCH_NOMATCH);        RRETURN(MATCH_NOMATCH);
2643        }        }
2644      GETCHARINCTEST(c, eptr);      else
2645      if (UCD_CATEGORY(c) == ucp_M) RRETURN(MATCH_NOMATCH);        {
2646      while (eptr < md->end_subject)        int lgb, rgb;
2647        {        GETCHARINCTEST(c, eptr);
2648        int len = 1;        lgb = UCD_GRAPHBREAK(c);
2649        if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }        while (eptr < md->end_subject)
2650        if (UCD_CATEGORY(c) != ucp_M) break;          {
2651        eptr += len;          int len = 1;
2652            if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
2653            rgb = UCD_GRAPHBREAK(c);
2654            if (PRIV(ucp_gbtable)[lgb * ucp_gbCount + rgb] == 0) break;
2655            lgb = rgb;
2656            eptr += len;
2657            }
2658        }        }
2659      CHECK_PARTIAL();      CHECK_PARTIAL();
2660      ecode++;      ecode++;
# Line 4226  for (;;) Line 4232  for (;;)
4232              SCHECK_PARTIAL();              SCHECK_PARTIAL();
4233              RRETURN(MATCH_NOMATCH);              RRETURN(MATCH_NOMATCH);
4234              }              }
4235            GETCHARINCTEST(c, eptr);            else
4236            if (UCD_CATEGORY(c) == ucp_M) RRETURN(MATCH_NOMATCH);              {
4237            while (eptr < md->end_subject)              int lgb, rgb;
4238              {              GETCHARINCTEST(c, eptr);
4239              int len = 1;              lgb = UCD_GRAPHBREAK(c);
4240              if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }             while (eptr < md->end_subject)
4241              if (UCD_CATEGORY(c) != ucp_M) break;                {
4242              eptr += len;                int len = 1;
4243                  if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
4244                  rgb = UCD_GRAPHBREAK(c);
4245                  if (PRIV(ucp_gbtable)[lgb * ucp_gbCount + rgb] == 0) break;
4246                  lgb = rgb;
4247                  eptr += len;
4248                  }
4249              }              }
4250            CHECK_PARTIAL();            CHECK_PARTIAL();
4251            }            }
# Line 5029  for (;;) Line 5041  for (;;)
5041              SCHECK_PARTIAL();              SCHECK_PARTIAL();
5042              RRETURN(MATCH_NOMATCH);              RRETURN(MATCH_NOMATCH);
5043              }              }
5044            GETCHARINCTEST(c, eptr);            else
5045            if (UCD_CATEGORY(c) == ucp_M) RRETURN(MATCH_NOMATCH);              {
5046            while (eptr < md->end_subject)              int lgb, rgb;
5047              {              GETCHARINCTEST(c, eptr);
5048              int len = 1;              lgb = UCD_GRAPHBREAK(c);
5049              if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }              while (eptr < md->end_subject)
5050              if (UCD_CATEGORY(c) != ucp_M) break;                {
5051              eptr += len;                int len = 1;
5052                  if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
5053                  rgb = UCD_GRAPHBREAK(c);
5054                  if (PRIV(ucp_gbtable)[lgb * ucp_gbCount + rgb] == 0) break;
5055                  lgb = rgb;
5056                  eptr += len;
5057                  }
5058              }              }
5059            CHECK_PARTIAL();            CHECK_PARTIAL();
5060            }            }
# Line 5588  for (;;) Line 5606  for (;;)
5606          {          {
5607          for (i = min; i < max; i++)          for (i = min; i < max; i++)
5608            {            {
           int len = 1;  
5609            if (eptr >= md->end_subject)            if (eptr >= md->end_subject)
5610              {              {
5611              SCHECK_PARTIAL();              SCHECK_PARTIAL();
5612              break;              break;
5613              }              }
5614            if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }            else
5615            if (UCD_CATEGORY(c) == ucp_M) break;              {
5616            eptr += len;              int lgb, rgb;
5617            while (eptr < md->end_subject)              GETCHARINCTEST(c, eptr);
5618              {              lgb = UCD_GRAPHBREAK(c);
5619              len = 1;              while (eptr < md->end_subject)
5620              if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }                {
5621              if (UCD_CATEGORY(c) != ucp_M) break;                int len = 1;
5622              eptr += len;                if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
5623                  rgb = UCD_GRAPHBREAK(c);
5624                  if (PRIV(ucp_gbtable)[lgb * ucp_gbCount + rgb] == 0) break;
5625                  lgb = rgb;
5626                  eptr += len;
5627                  }
5628              }              }
5629            CHECK_PARTIAL();            CHECK_PARTIAL();
5630            }            }

Legend:
Removed from v.976  
changed lines
  Added in v.1011

  ViewVC Help
Powered by ViewVC 1.1.5