Plan 9 from Bell Labs’s /usr/web/sources/contrib/mospak/mothra-fixups/mothra-fixups.diff

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


--- sys/src/cmd/mothra/libpanel/draw.c
+++ sys/src/cmd/mothra/libpanel/draw.c
@@ -118,6 +118,7 @@ Point pl_boxsize(Point interior, int state){
 	case FRAME:
 		return addpt(interior, Pt(4*FWID+2*SPACE, 4*FWID+2*SPACE));
 	}
+	return interior;
 }
 void pl_interior(int state, Point *ul, Point *size){
 	switch(state){
--- sys/src/cmd/mothra/rdhtml.c
+++ sys/src/cmd/mothra/rdhtml.c
@@ -639,14 +639,20 @@ void plrdhtml(char *name, int fd, Www *dst){
 		case Tag_end:	/* unrecognized start tag */
 			break;
 		case Tag_meta:
-			if((str=pl_getattr(g.attr, "http-equiv")) &&
-			   (strcmp(str, "content-type"))==0 &&
-			   (str=pl_getattr(g.attr, "content")) &&
-			   (str=strstr(str, "charset="))){
-				str+=8;
-				if(cistrcmp(str, "utf-8")==0)
-					g.isutf=1;
+			/* html5 writes <meta charset=...>; the older form
+			 * hides it in the Content-Type http-equiv */
+			if((str=pl_getattr(g.attr, "charset"))==nil){
+				str=pl_getattr(g.attr, "http-equiv");
+				if(str!=nil && cistrcmp(str, "content-type")==0
+				&& (str=pl_getattr(g.attr, "content"))!=nil
+				&& (str=cistrstr(str, "charset="))!=nil)
+					str+=8;
+				else
+					str=nil;
 			}
+			if(str!=nil
+			&& (cistrcmp(str, "utf-8")==0 || cistrcmp(str, "utf8")==0))
+				g.isutf=1;
 			break;
 		case Tag_img:
 			str=pl_getattr(g.attr, "src");

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.