git: 9front

Download patch

ref: 3d77fa159908e0a506aa32331426063927c46d72
parent: 926ba972a96195bea74dddfc95b0fbfc73873631
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Tue Sep 20 08:19:24 EDT 2011

tcs: comments lie

--- a/sys/src/cmd/tcs/html.c
+++ b/sys/src/cmd/tcs/html.c
@@ -86,7 +86,7 @@
 	{"agrave", 224},
 	{"alefsym", 8501},
 	{"alpha", 945},
-	{"amp", 38},
+	/*	{"amp", 38},	*/
 	{"and", 8743},
 	{"ang", 8736},
 	{"aring", 229},
@@ -141,7 +141,7 @@
 	{"frasl", 8260},
 	{"gamma", 947},
 	{"ge", 8805},
-	{"gt", 62},
+	/*	{"gt", 62},	*/
 	{"hArr", 8660},
 	{"harr", 8596},
 	{"hearts", 9829},
@@ -173,7 +173,7 @@
 	{"lrm", 8206},
 	{"lsaquo", 8249},
 	{"lsquo", 8216},
-	{"lt", 60},
+	/*	{"lt", 60},	*/
 	{"macr", 175},
 	{"mdash", 8212},
 	{"micro", 181},
@@ -219,7 +219,7 @@
 	{"prop", 8733},
 	{"psi", 968},
 	{"quad", 8193},
-	{"quot", 34},
+	/*	{"quot", 34},	*/
 	{"rArr", 8658},
 	{"radic", 8730},
 	{"rang", 9002},
@@ -385,7 +385,7 @@
 	Biobuf b;
 	Rune rbuf[N];
 	Rune *r, *er;
-	int c, i;
+	int c, s, i;
 	
 	USED(x);
 	
@@ -399,6 +399,7 @@
 			r = rbuf;
 		}
 		if(c == '&'){
+			s = 0;
 			buf[0] = c;
 			for(i=1; i<nelem(buf)-1;){
 				c = Bgetc(&b);
@@ -407,6 +408,8 @@
 				if(strchr(";&</> \t\r\n", c)){
 					if(c != ';')
 						Bungetc(&b);
+					else
+						s = 1;
 					break;
 				}
 				buf[i++] = c;
@@ -429,6 +432,8 @@
 				}
 			}
 		bad:
+			if(s)
+				buf[i++] = ';';
 			for(p=buf; p<buf+i; ){
 				p += chartorune(r++, p);
 				if(r >= er){
--