Commit Diff


commit - 13e660708dc5c8f6b416c9da8b2e3e07b587734a
commit + c252674209809753903089bbb343030ea8e5fd9f
blob - 32e6401551ba6ec4c765a413e53d74151a44f041
blob + 0371a4a81ac49a7b74f6e60bdbd108b860c90722
--- src/libhtml/build.c
+++ src/libhtml/build.c
@@ -166,15 +166,102 @@ enum {
 // If we want a line of space after the given element, SPAfter is OR'd in.
 
 static uchar blockbrk[Numtags]= {
-	[Taddress] BLBA, [Tblockquote] BLBA, [Tcenter] BL,
-	[Tdir] BLBA, [Tdiv] BL, [Tdd] BL, [Tdl] BLBA,
-	[Tdt] BL, [Tform] BLBA,
-	// headings and tables get breaks added manually
-	[Th1] BL, [Th2] BL, [Th3] BL,
-	[Th4] BL, [Th5] BL, [Th6] BL,
-	[Thr] BL, [Tisindex] BLBA, [Tli] BL, [Tmenu] BLBA,
-	[Tol] BLBA, [Tp] BLBA, [Tpre] BLBA,
-	[Tul] BLBA
+/*Notfound*/ 0,
+/*Comment*/ 0,
+/*Ta*/ 0,
+/*Tabbr*/ 0,
+/*Tacronym*/ 0,
+/*Taddress*/ BLBA,
+/*Tapplet*/ 0,
+/*Tarea*/ 0,
+/*Tb*/ 0,
+/*Tbase*/ 0,
+/*Tbasefont*/ 0,
+/*Tbdo*/ 0,
+/*Tbig*/ 0,
+/*Tblink*/ 0,
+/*Tblockquote*/ BLBA,
+/*Tbody*/ 0,
+/*Tbq*/ 0,
+/*Tbr*/ 0,
+/*Tbutton*/ 0,
+/*Tcaption*/ 0,
+/*Tcenter*/ BL,
+/*Tcite*/ 0,
+/*Tcode*/ 0,
+/*Tcol*/ 0,
+/*Tcolgroup*/ 0,
+/*Tdd*/ BL,
+/*Tdel*/ 0,
+/*Tdfn*/ 0,
+/*Tdir*/ BLBA,
+/*Tdiv*/ BL,
+/*Tdl*/ BLBA,
+/*Tdt*/ BL,
+/*Tem*/ 0,
+/*Tfieldset*/ 0,
+/*Tfont*/ 0,
+/*Tform*/ BLBA,
+/*Tframe*/ 0,
+/*Tframeset*/ 0,
+/*Th1*/ BL,
+/*Th2*/ BL,
+/*Th3*/ BL,
+/*Th4*/ BL,
+/*Th5*/ BL,
+/*Th6*/ BL,
+/*Thead*/ 0,
+/*Thr*/ BL,
+/*Thtml*/ 0,
+/*Ti*/ 0,
+/*Tiframe*/ 0,
+/*Timg*/ 0,
+/*Tinput*/ 0,
+/*Tins*/ 0,
+/*Tisindex*/ BLBA,
+/*Tkbd*/ 0,
+/*Tlabel*/ 0,
+/*Tlegend*/ 0,
+/*Tli*/ BL,
+/*Tlink*/ 0,
+/*Tmap*/ 0,
+/*Tmenu*/ BLBA,
+/*Tmeta*/ 0,
+/*Tnobr*/ 0,
+/*Tnoframes*/ 0,
+/*Tnoscript*/ 0,
+/*Tobject*/ 0,
+/*Tol*/ BLBA,
+/*Toptgroup*/ 0,
+/*Toption*/ 0,
+/*Tp*/ BLBA,
+/*Tparam*/ 0,
+/*Tpre*/ BLBA,
+/*Tq*/ 0,
+/*Ts*/ 0,
+/*Tsamp*/ 0,
+/*Tscript*/ 0,
+/*Tselect*/ 0,
+/*Tsmall*/ 0,
+/*Tspan*/ 0,
+/*Tstrike*/ 0,
+/*Tstrong*/ 0,
+/*Tstyle*/ 0,
+/*Tsub*/ 0,
+/*Tsup*/ 0,
+/*Ttable*/ 0,
+/*Ttbody*/ 0,
+/*Ttd*/ 0,
+/*Ttextarea*/ 0,
+/*Ttfoot*/ 0,
+/*Tth*/ 0,
+/*Tthead*/ 0,
+/*Ttitle*/ 0,
+/*Ttr*/ 0,
+/*Ttt*/ 0,
+/*Tu*/ 0,
+/*Tul*/ BLBA,
+/*Tvar*/ 0,
 };
 
 enum {
@@ -184,22 +271,241 @@ enum {
 // attrinfo is information about attributes.
 // The AGEN value means that the attribute is generic (applies to almost all elements)
 static uchar attrinfo[Numattrs]= {
-	[Aid] AGEN, [Aclass] AGEN, [Astyle] AGEN, [Atitle] AGEN,
-	[Aonblur] AGEN, [Aonchange] AGEN, [Aonclick] AGEN,
-	[Aondblclick] AGEN, [Aonfocus] AGEN, [Aonkeypress] AGEN,
-	[Aonkeyup] AGEN, [Aonload] AGEN, [Aonmousedown] AGEN,
-	[Aonmousemove] AGEN, [Aonmouseout] AGEN, [Aonmouseover] AGEN,
-	[Aonmouseup] AGEN, [Aonreset] AGEN, [Aonselect] AGEN,
-	[Aonsubmit] AGEN, [Aonunload] AGEN
+/*Aabbr*/ 0,
+/*Aaccept_charset*/ 0,
+/*Aaccess_key*/ 0,
+/*Aaction*/ 0,
+/*Aalign*/ 0,
+/*Aalink*/ 0,
+/*Aalt*/ 0,
+/*Aarchive*/ 0,
+/*Aaxis*/ 0,
+/*Abackground*/ 0,
+/*Abgcolor*/ 0,
+/*Aborder*/ 0,
+/*Acellpadding*/ 0,
+/*Acellspacing*/ 0,
+/*Achar*/ 0,
+/*Acharoff*/ 0,
+/*Acharset*/ 0,
+/*Achecked*/ 0,
+/*Acite*/ 0,
+/*Aclass*/ AGEN,
+/*Aclassid*/ 0,
+/*Aclear*/ 0,
+/*Acode*/ 0,
+/*Acodebase*/ 0,
+/*Acodetype*/ 0,
+/*Acolor*/ 0,
+/*Acols*/ 0,
+/*Acolspan*/ 0,
+/*Acompact*/ 0,
+/*Acontent*/ 0,
+/*Acoords*/ 0,
+/*Adata*/ 0,
+/*Adatetime*/ 0,
+/*Adeclare*/ 0,
+/*Adefer*/ 0,
+/*Adir*/ 0,
+/*Adisabled*/ 0,
+/*Aenctype*/ 0,
+/*Aface*/ 0,
+/*Afor*/ 0,
+/*Aframe*/ 0,
+/*Aframeborder*/ 0,
+/*Aheaders*/ 0,
+/*Aheight*/ 0,
+/*Ahref*/ 0,
+/*Ahreflang*/ 0,
+/*Ahspace*/ 0,
+/*Ahttp_equiv*/ 0,
+/*Aid*/ AGEN,
+/*Aismap*/ 0,
+/*Alabel*/ 0,
+/*Alang*/ 0,
+/*Alink*/ 0,
+/*Alongdesc*/ 0,
+/*Amarginheight*/ 0,
+/*Amarginwidth*/ 0,
+/*Amaxlength*/ 0,
+/*Amedia*/ 0,
+/*Amethod*/ 0,
+/*Amultiple*/ 0,
+/*Aname*/ 0,
+/*Anohref*/ 0,
+/*Anoresize*/ 0,
+/*Anoshade*/ 0,
+/*Anowrap*/ 0,
+/*Aobject*/ 0,
+/*Aonblur*/ AGEN,
+/*Aonchange*/ AGEN,
+/*Aonclick*/ AGEN,
+/*Aondblclick*/ AGEN,
+/*Aonfocus*/ AGEN,
+/*Aonkeypress*/ AGEN,
+/*Aonkeyup*/ AGEN,
+/*Aonload*/ AGEN,
+/*Aonmousedown*/ AGEN,
+/*Aonmousemove*/ AGEN,
+/*Aonmouseout*/ AGEN,
+/*Aonmouseover*/ AGEN,
+/*Aonmouseup*/ AGEN,
+/*Aonreset*/ AGEN,
+/*Aonselect*/ AGEN,
+/*Aonsubmit*/ AGEN,
+/*Aonunload*/ AGEN,
+/*Aprofile*/ 0,
+/*Aprompt*/ 0,
+/*Areadonly*/ 0,
+/*Arel*/ 0,
+/*Arev*/ 0,
+/*Arows*/ 0,
+/*Arowspan*/ 0,
+/*Arules*/ 0,
+/*Ascheme*/ 0,
+/*Ascope*/ 0,
+/*Ascrolling*/ 0,
+/*Aselected*/ 0,
+/*Ashape*/ 0,
+/*Asize*/ 0,
+/*Aspan*/ 0,
+/*Asrc*/ 0,
+/*Astandby*/ 0,
+/*Astart*/ 0,
+/*Astyle*/ AGEN,
+/*Asummary*/ 0,
+/*Atabindex*/ 0,
+/*Atarget*/ 0,
+/*Atext*/ 0,
+/*Atitle*/ AGEN,
+/*Atype*/ 0,
+/*Ausemap*/ 0,
+/*Avalign*/ 0,
+/*Avalue*/ 0,
+/*Avaluetype*/ 0,
+/*Aversion*/ 0,
+/*Avlink*/ 0,
+/*Avspace*/ 0,
+/*Awidth*/ 0,
 };
 
 static uchar scriptev[Numattrs]= {
-	[Aonblur] SEonblur, [Aonchange] SEonchange, [Aonclick] SEonclick,
-	[Aondblclick] SEondblclick, [Aonfocus] SEonfocus, [Aonkeypress] SEonkeypress,
-	[Aonkeyup] SEonkeyup, [Aonload] SEonload, [Aonmousedown] SEonmousedown,
-	[Aonmousemove] SEonmousemove, [Aonmouseout] SEonmouseout, [Aonmouseover] SEonmouseover,
-	[Aonmouseup] SEonmouseup, [Aonreset] SEonreset, [Aonselect] SEonselect,
-	[Aonsubmit] SEonsubmit, [Aonunload] SEonunload
+/*Aabbr*/ 0,
+/*Aaccept_charset*/ 0,
+/*Aaccess_key*/ 0,
+/*Aaction*/ 0,
+/*Aalign*/ 0,
+/*Aalink*/ 0,
+/*Aalt*/ 0,
+/*Aarchive*/ 0,
+/*Aaxis*/ 0,
+/*Abackground*/ 0,
+/*Abgcolor*/ 0,
+/*Aborder*/ 0,
+/*Acellpadding*/ 0,
+/*Acellspacing*/ 0,
+/*Achar*/ 0,
+/*Acharoff*/ 0,
+/*Acharset*/ 0,
+/*Achecked*/ 0,
+/*Acite*/ 0,
+/*Aclass*/ 0,
+/*Aclassid*/ 0,
+/*Aclear*/ 0,
+/*Acode*/ 0,
+/*Acodebase*/ 0,
+/*Acodetype*/ 0,
+/*Acolor*/ 0,
+/*Acols*/ 0,
+/*Acolspan*/ 0,
+/*Acompact*/ 0,
+/*Acontent*/ 0,
+/*Acoords*/ 0,
+/*Adata*/ 0,
+/*Adatetime*/ 0,
+/*Adeclare*/ 0,
+/*Adefer*/ 0,
+/*Adir*/ 0,
+/*Adisabled*/ 0,
+/*Aenctype*/ 0,
+/*Aface*/ 0,
+/*Afor*/ 0,
+/*Aframe*/ 0,
+/*Aframeborder*/ 0,
+/*Aheaders*/ 0,
+/*Aheight*/ 0,
+/*Ahref*/ 0,
+/*Ahreflang*/ 0,
+/*Ahspace*/ 0,
+/*Ahttp_equiv*/ 0,
+/*Aid*/ 0,
+/*Aismap*/ 0,
+/*Alabel*/ 0,
+/*Alang*/ 0,
+/*Alink*/ 0,
+/*Alongdesc*/ 0,
+/*Amarginheight*/ 0,
+/*Amarginwidth*/ 0,
+/*Amaxlength*/ 0,
+/*Amedia*/ 0,
+/*Amethod*/ 0,
+/*Amultiple*/ 0,
+/*Aname*/ 0,
+/*Anohref*/ 0,
+/*Anoresize*/ 0,
+/*Anoshade*/ 0,
+/*Anowrap*/ 0,
+/*Aobject*/ 0,
+/*Aonblur*/ SEonblur,
+/*Aonchange*/ SEonchange,
+/*Aonclick*/ SEonclick,
+/*Aondblclick*/ SEondblclick,
+/*Aonfocus*/ SEonfocus,
+/*Aonkeypress*/ SEonkeypress,
+/*Aonkeyup*/ SEonkeyup,
+/*Aonload*/ SEonload,
+/*Aonmousedown*/ SEonmousedown,
+/*Aonmousemove*/ SEonmousemove,
+/*Aonmouseout*/ SEonmouseout,
+/*Aonmouseover*/ SEonmouseover,
+/*Aonmouseup*/ SEonmouseup,
+/*Aonreset*/ SEonreset,
+/*Aonselect*/ SEonselect,
+/*Aonsubmit*/ SEonsubmit,
+/*Aonunload*/ SEonunload,
+/*Aprofile*/ 0,
+/*Aprompt*/ 0,
+/*Areadonly*/ 0,
+/*Arel*/ 0,
+/*Arev*/ 0,
+/*Arows*/ 0,
+/*Arowspan*/ 0,
+/*Arules*/ 0,
+/*Ascheme*/ 0,
+/*Ascope*/ 0,
+/*Ascrolling*/ 0,
+/*Aselected*/ 0,
+/*Ashape*/ 0,
+/*Asize*/ 0,
+/*Aspan*/ 0,
+/*Asrc*/ 0,
+/*Astandby*/ 0,
+/*Astart*/ 0,
+/*Astyle*/ 0,
+/*Asummary*/ 0,
+/*Atabindex*/ 0,
+/*Atarget*/ 0,
+/*Atext*/ 0,
+/*Atitle*/ 0,
+/*Atype*/ 0,
+/*Ausemap*/ 0,
+/*Avalign*/ 0,
+/*Avalue*/ 0,
+/*Avaluetype*/ 0,
+/*Aversion*/ 0,
+/*Avlink*/ 0,
+/*Avspace*/ 0,
+/*Awidth*/ 0,
 };
 
 // Color lookup table