Author: almaw Date: Tue Jun 19 09:23:50 2007 New Revision: 548788 URL: http://svn.apache.org/viewvc?view=rev&rev=548788 Log: WICKET-501 - JavaScript comment stripping doesn't handle regexps
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java?view=diff&rev=548788&r1=548787&r2=548788 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java Tue Jun 19 09:23:50 2007 @@ -46,7 +46,7 @@ private final static int MULTILINE_COMMENT = 6; /** Inside a regular expression */ - private final static int REG_EXP = 7; + private final static int POSSIBLE_REG_EXP = 7; /** * Removes javascript comments and whitespaces from specified string. @@ -91,7 +91,8 @@ } else if (c == '/') { - state = REG_EXP; + // Might also be a standard divide operator, though. + state = POSSIBLE_REG_EXP; } else if (Character.isWhitespace(c) && Character.isWhitespace(next)) { @@ -150,9 +151,13 @@ continue; } - if (state == REG_EXP) + if (state == POSSIBLE_REG_EXP) { if (c == '/' && prev != '\\') + { + state = REGULAR_TEXT; + } + if (c == '\r' || c == '\n') { state = REGULAR_TEXT; }