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(" <");