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

Diff of /code/trunk/pcre_compile.c

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

revision 545 by ph10, Wed Jun 16 10:51:15 2010 UTC revision 550 by ph10, Sun Oct 10 16:24:11 2010 UTC
# Line 1724  for (;;) Line 1724  for (;;)
1724        case OP_MARK:        case OP_MARK:
1725        case OP_PRUNE_ARG:        case OP_PRUNE_ARG:
1726        case OP_SKIP_ARG:        case OP_SKIP_ARG:
       case OP_THEN_ARG:  
1727        code += code[1];        code += code[1];
1728        break;        break;
1729    
1730          case OP_THEN_ARG:
1731          code += code[1+LINK_SIZE];
1732          break;
1733        }        }
1734    
1735      /* Add in the fixed length from the table */      /* Add in the fixed length from the table */
# Line 1827  for (;;) Line 1830  for (;;)
1830        case OP_MARK:        case OP_MARK:
1831        case OP_PRUNE_ARG:        case OP_PRUNE_ARG:
1832        case OP_SKIP_ARG:        case OP_SKIP_ARG:
       case OP_THEN_ARG:  
1833        code += code[1];        code += code[1];
1834        break;        break;
1835    
1836          case OP_THEN_ARG:
1837          code += code[1+LINK_SIZE];
1838          break;
1839        }        }
1840    
1841      /* Add in the fixed length from the table */      /* Add in the fixed length from the table */
# Line 2105  for (code = first_significant_code(code Line 2111  for (code = first_significant_code(code
2111      case OP_MARK:      case OP_MARK:
2112      case OP_PRUNE_ARG:      case OP_PRUNE_ARG:
2113      case OP_SKIP_ARG:      case OP_SKIP_ARG:
     case OP_THEN_ARG:  
2114      code += code[1];      code += code[1];
2115      break;      break;
2116    
2117        case OP_THEN_ARG:
2118        code += code[1+LINK_SIZE];
2119        break;
2120    
2121      /* None of the remaining opcodes are required to match a character. */      /* None of the remaining opcodes are required to match a character. */
2122    
2123      default:      default:
# Line 4808  for (;; ptr++) Line 4817  for (;; ptr++)
4817                *errorcodeptr = ERR66;                *errorcodeptr = ERR66;
4818                goto FAILED;                goto FAILED;
4819                }                }
4820              *code++ = verbs[i].op;              *code = verbs[i].op;
4821                if (*code++ == OP_THEN)
4822                  {
4823                  PUT(code, 0, code - bcptr->current_branch - 1);
4824                  code += LINK_SIZE;
4825                  }
4826              }              }
4827    
4828            else            else
# Line 4818  for (;; ptr++) Line 4832  for (;; ptr++)
4832                *errorcodeptr = ERR59;                *errorcodeptr = ERR59;
4833                goto FAILED;                goto FAILED;
4834                }                }
4835              *code++ = verbs[i].op_arg;              *code = verbs[i].op_arg;
4836                if (*code++ == OP_THEN_ARG)
4837                  {
4838                  PUT(code, 0, code - bcptr->current_branch - 1);
4839                  code += LINK_SIZE;
4840                  }
4841              *code++ = arglen;              *code++ = arglen;
4842              memcpy(code, arg, arglen);              memcpy(code, arg, arglen);
4843              code += arglen;              code += arglen;

Legend:
Removed from v.545  
changed lines
  Added in v.550

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12