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;
                                }


Reply via email to