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

Diff of /code/trunk/pcre_study.c

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

revision 1488 by ph10, Wed Jun 18 18:38:00 2014 UTC revision 1502 by ph10, Mon Sep 15 13:56:18 2014 UTC
# Line 879  do Line 879  do
879        case OP_THEN:        case OP_THEN:
880        case OP_THEN_ARG:        case OP_THEN_ARG:
881        return SSB_FAIL;        return SSB_FAIL;
882    
883        /* A "real" property test implies no starting bits, but the fake property        /* A "real" property test implies no starting bits, but the fake property
884        PT_CLIST identifies a list of characters. These lists are short, as they        PT_CLIST identifies a list of characters. These lists are short, as they
885        are used for characters with more than one "other case", so there is no        are used for characters with more than one "other case", so there is no
886        point in recognizing them for OP_NOTPROP. */        point in recognizing them for OP_NOTPROP. */
887    
888        case OP_PROP:        case OP_PROP:
889        if (tcode[1] != PT_CLIST) return SSB_FAIL;        if (tcode[1] != PT_CLIST) return SSB_FAIL;
890          {          {
891          const pcre_uint32 *p = PRIV(ucd_caseless_sets) + tcode[2];          const pcre_uint32 *p = PRIV(ucd_caseless_sets) + tcode[2];
892          while ((c = *p++) < NOTACHAR)          while ((c = *p++) < NOTACHAR)
893            {            {
894  #if defined SUPPORT_UTF && defined COMPILE_PCRE8  #if defined SUPPORT_UTF && defined COMPILE_PCRE8
895            if (utf)            if (utf)
896              {              {
897              pcre_uchar buff[6];              pcre_uchar buff[6];
898              (void)PRIV(ord2utf)(c, buff);              (void)PRIV(ord2utf)(c, buff);
899              c = buff[0];              c = buff[0];
900              }              }
901  #endif  #endif
902            if (c > 0xff) SET_BIT(0xff); else SET_BIT(c);            if (c > 0xff) SET_BIT(0xff); else SET_BIT(c);
903            }            }
904          }          }
905        try_next = FALSE;        try_next = FALSE;
906        break;        break;
907    
908        /* We can ignore word boundary tests. */        /* We can ignore word boundary tests. */
909    

Legend:
Removed from v.1488  
changed lines
  Added in v.1502

  ViewVC Help
Powered by ViewVC 1.1.5