jdk/src/share/classes/javax/swing/text/html/parser/Parser.java
changeset 9213 856f16c729a5
parent 7668 d4a77089c587
child 12999 d0cec5582bd7
--- a/jdk/src/share/classes/javax/swing/text/html/parser/Parser.java	Wed Apr 06 11:51:39 2011 +0400
+++ b/jdk/src/share/classes/javax/swing/text/html/parser/Parser.java	Wed Apr 06 12:05:38 2011 +0400
@@ -966,6 +966,9 @@
             char data[] = {'&'};
             return data;
         }
+
+        boolean semicolon = false;
+
         switch (ch) {
           case '\n':
             ln++;
@@ -985,6 +988,8 @@
             break;
 
           case ';':
+            semicolon = true;
+
             ch = readCh();
             break;
         }
@@ -1006,7 +1011,7 @@
                 return new char[0];
             }
             /* given that there is not a match restore the entity reference */
-            String str = "&" + nm + ";";
+            String str = "&" + nm + (semicolon ? ";" : "");
 
             char b[] = new char[str.length()];
             str.getChars(0, b.length, b, 0);