dfs         01/05/19 01:25:37

  Modified:    src/java/org/apache/oro/text/regex Perl5Debug.java
  Log:
  Fixed handling of ANYOFUN and NANYOFUN.  The old code was just flat out
  wrong and didn't increment the offset in printProgram correctly.
  
  Revision  Changes    Path
  1.8       +8 -2      jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Debug.java
  
  Index: Perl5Debug.java
  ===================================================================
  RCS file: /home/cvs/jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Debug.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Perl5Debug.java   2001/05/17 21:59:33     1.7
  +++ Perl5Debug.java   2001/05/19 08:25:36     1.8
  @@ -58,7 +58,7 @@
    */
   
   /*
  - * $Id: Perl5Debug.java,v 1.7 2001/05/17 21:59:33 dfs Exp $
  + * $Id: Perl5Debug.java,v 1.8 2001/05/19 08:25:36 dfs Exp $
    */
   
   /**
  @@ -126,7 +126,13 @@
         if(operator == OpCode._ANYOF) {
        offset += 16;
         } else if(operator == OpCode._ANYOFUN || operator == OpCode._NANYOFUN) {
  -     offset+=(prog[offset-1]-2);
  +     while(prog[offset] != OpCode._END) {
  +       if(prog[offset] == OpCode._RANGE)
  +         offset+=3;
  +       else
  +         offset+=2;
  +     }
  +     ++offset;
         } else if(operator == OpCode._EXACTLY) {
          ++offset;
          buffer.append(" <");
  
  
  

Reply via email to