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

Diff of /code/trunk/pcre_printint.c

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

revision 1379 by ph10, Mon Oct 14 13:54:07 2013 UTC revision 1387 by ph10, Sat Nov 2 18:29:05 2013 UTC
# Line 633  for(;;) Line 633  for(;;)
633      print_prop(f, code, "    ", "");      print_prop(f, code, "    ", "");
634      break;      break;
635    
636      /* OP_XCLASS can only occur in UTF or PCRE16 modes. However, there's no      /* OP_XCLASS cannot occur in 8-bit, non-UTF mode. However, there's no harm
637      harm in having this code always here, and it makes it less messy without      in having this code always here, and it makes it less messy without all
638      all those #ifdefs. */      those #ifdefs. */
639    
640      case OP_CLASS:      case OP_CLASS:
641      case OP_NCLASS:      case OP_NCLASS:
# Line 696  for(;;) Line 696  for(;;)
696          pcre_uchar ch;          pcre_uchar ch;
697          while ((ch = *ccode++) != XCL_END)          while ((ch = *ccode++) != XCL_END)
698            {            {
699            if (ch == XCL_PROP)            BOOL not = FALSE;
700              {            const char *notch = "";
701              unsigned int ptype = *ccode++;  
702              unsigned int pvalue = *ccode++;            switch(ch)
             fprintf(f, "\\p{%s}", get_ucpname(ptype, pvalue));  
             }  
           else if (ch == XCL_NOTPROP)  
             {  
             unsigned int ptype = *ccode++;  
             unsigned int pvalue = *ccode++;  
             fprintf(f, "\\P{%s}", get_ucpname(ptype, pvalue));  
             }  
           else  
703              {              {
704                case XCL_NOTPROP:
705                not = TRUE;
706                notch = "^";
707                /* Fall through */
708    
709                case XCL_PROP:
710                  {
711                  unsigned int ptype = *ccode++;
712                  unsigned int pvalue = *ccode++;
713    
714                  switch(ptype)
715                    {
716                    case PT_PXGRAPH:
717                    fprintf(f, "[:%sgraph:]", notch);
718                    break;
719    
720                    case PT_PXPRINT:
721                    fprintf(f, "[:%sprint:]", notch);
722                    break;
723    
724                    case PT_PXPUNCT:
725                    fprintf(f, "[:%spunct:]", notch);
726                    break;
727    
728                    default:
729                    fprintf(f, "\\%c{%s}", (not? 'P':'p'),
730                      get_ucpname(ptype, pvalue));
731                    break;
732                    }
733                  }
734                break;
735    
736                default:
737              ccode += 1 + print_char(f, ccode, utf);              ccode += 1 + print_char(f, ccode, utf);
738              if (ch == XCL_RANGE)              if (ch == XCL_RANGE)
739                {                {
740                fprintf(f, "-");                fprintf(f, "-");
741                ccode += 1 + print_char(f, ccode, utf);                ccode += 1 + print_char(f, ccode, utf);
742                }                }
743              }              break;
744                }
745            }            }
746          }          }
747    

Legend:
Removed from v.1379  
changed lines
  Added in v.1387

  ViewVC Help
Powered by ViewVC 1.1.5