initial commits
							parent
							
								
									5e0815b42c
								
							
						
					
					
						commit
						d38a407f0b
					
				| 
						 | 
				
			
			@ -0,0 +1,180 @@
 | 
			
		|||
package htmlescape
 | 
			
		||||
 | 
			
		||||
var escaped00 []byte = []byte("�")
 | 
			
		||||
var escaped01 []byte = []byte("")
 | 
			
		||||
var escaped02 []byte = []byte("")
 | 
			
		||||
var escaped03 []byte = []byte("")
 | 
			
		||||
var escaped04 []byte = []byte("")
 | 
			
		||||
var escaped05 []byte = []byte("")
 | 
			
		||||
var escaped06 []byte = []byte("")
 | 
			
		||||
var escaped07 []byte = []byte("")
 | 
			
		||||
var escaped08 []byte = []byte("")
 | 
			
		||||
var escaped09 []byte = []byte("	")
 | 
			
		||||
var escaped0A []byte = []byte("
")
 | 
			
		||||
var escaped0B []byte = []byte("")
 | 
			
		||||
var escaped0C []byte = []byte("")
 | 
			
		||||
var escaped0D []byte = []byte("
")
 | 
			
		||||
var escaped0E []byte = []byte("")
 | 
			
		||||
var escaped0F []byte = []byte("")
 | 
			
		||||
 | 
			
		||||
var escaped10 []byte = []byte("")
 | 
			
		||||
var escaped11 []byte = []byte("")
 | 
			
		||||
var escaped12 []byte = []byte("")
 | 
			
		||||
var escaped13 []byte = []byte("")
 | 
			
		||||
var escaped14 []byte = []byte("")
 | 
			
		||||
var escaped15 []byte = []byte("")
 | 
			
		||||
var escaped16 []byte = []byte("")
 | 
			
		||||
var escaped17 []byte = []byte("")
 | 
			
		||||
var escaped18 []byte = []byte("")
 | 
			
		||||
var escaped19 []byte = []byte("")
 | 
			
		||||
var escaped1A []byte = []byte("")
 | 
			
		||||
var escaped1B []byte = []byte("")
 | 
			
		||||
var escaped1C []byte = []byte("")
 | 
			
		||||
var escaped1D []byte = []byte("")
 | 
			
		||||
var escaped1E []byte = []byte("")
 | 
			
		||||
var escaped1F []byte = []byte("")
 | 
			
		||||
 | 
			
		||||
const minCtrlBlock1 = 0x7F
 | 
			
		||||
 | 
			
		||||
var escaped7F []byte = []byte("")
 | 
			
		||||
var escaped80 []byte = []byte("€")
 | 
			
		||||
var escaped81 []byte = []byte("")
 | 
			
		||||
var escaped82 []byte = []byte("‚")
 | 
			
		||||
var escaped83 []byte = []byte("ƒ")
 | 
			
		||||
var escaped84 []byte = []byte("„")
 | 
			
		||||
var escaped85 []byte = []byte("…")
 | 
			
		||||
var escaped86 []byte = []byte("†")
 | 
			
		||||
var escaped87 []byte = []byte("‡")
 | 
			
		||||
var escaped88 []byte = []byte("ˆ")
 | 
			
		||||
var escaped89 []byte = []byte("‰")
 | 
			
		||||
var escaped8A []byte = []byte("Š")
 | 
			
		||||
var escaped8B []byte = []byte("‹")
 | 
			
		||||
var escaped8C []byte = []byte("Œ")
 | 
			
		||||
var escaped8D []byte = []byte("")
 | 
			
		||||
var escaped8E []byte = []byte("Ž")
 | 
			
		||||
var escaped8F []byte = []byte("")
 | 
			
		||||
var escaped90 []byte = []byte("")
 | 
			
		||||
var escaped91 []byte = []byte("‘")
 | 
			
		||||
var escaped92 []byte = []byte("’")
 | 
			
		||||
var escaped93 []byte = []byte("“")
 | 
			
		||||
var escaped94 []byte = []byte("”")
 | 
			
		||||
var escaped95 []byte = []byte("•")
 | 
			
		||||
var escaped96 []byte = []byte("–")
 | 
			
		||||
var escaped97 []byte = []byte("—")
 | 
			
		||||
var escaped98 []byte = []byte("˜")
 | 
			
		||||
var escaped99 []byte = []byte("™")
 | 
			
		||||
var escaped9A []byte = []byte("š")
 | 
			
		||||
var escaped9B []byte = []byte("›")
 | 
			
		||||
var escaped9C []byte = []byte("œ")
 | 
			
		||||
var escaped9D []byte = []byte("")
 | 
			
		||||
var escaped9E []byte = []byte("ž")
 | 
			
		||||
var escaped9F []byte = []byte("Ÿ")
 | 
			
		||||
 | 
			
		||||
var ctrlBlock0 [][]byte = [][]byte{
 | 
			
		||||
	escaped00,
 | 
			
		||||
	escaped01,
 | 
			
		||||
	escaped02,
 | 
			
		||||
	escaped03,
 | 
			
		||||
	escaped04,
 | 
			
		||||
	escaped05,
 | 
			
		||||
	escaped06,
 | 
			
		||||
	escaped07,
 | 
			
		||||
	escaped08,
 | 
			
		||||
	escaped09,
 | 
			
		||||
	escaped0A,
 | 
			
		||||
	escaped0B,
 | 
			
		||||
	escaped0C,
 | 
			
		||||
	escaped0D,
 | 
			
		||||
	escaped0E,
 | 
			
		||||
	escaped0F,
 | 
			
		||||
 | 
			
		||||
	escaped10,
 | 
			
		||||
	escaped11,
 | 
			
		||||
	escaped12,
 | 
			
		||||
	escaped13,
 | 
			
		||||
	escaped14,
 | 
			
		||||
	escaped15,
 | 
			
		||||
	escaped16,
 | 
			
		||||
	escaped17,
 | 
			
		||||
	escaped18,
 | 
			
		||||
	escaped19,
 | 
			
		||||
	escaped1A,
 | 
			
		||||
	escaped1B,
 | 
			
		||||
	escaped1C,
 | 
			
		||||
	escaped1D,
 | 
			
		||||
	escaped1E,
 | 
			
		||||
	escaped1F,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var ctrlBlock1 [][]byte = [][]byte{
 | 
			
		||||
	escaped7F,
 | 
			
		||||
 | 
			
		||||
	escaped80,
 | 
			
		||||
	escaped81,
 | 
			
		||||
	escaped82,
 | 
			
		||||
	escaped83,
 | 
			
		||||
	escaped84,
 | 
			
		||||
	escaped85,
 | 
			
		||||
	escaped86,
 | 
			
		||||
	escaped87,
 | 
			
		||||
	escaped88,
 | 
			
		||||
	escaped89,
 | 
			
		||||
	escaped8A,
 | 
			
		||||
	escaped8B,
 | 
			
		||||
	escaped8C,
 | 
			
		||||
	escaped8D,
 | 
			
		||||
	escaped8E,
 | 
			
		||||
	escaped8F,
 | 
			
		||||
 | 
			
		||||
	escaped90,
 | 
			
		||||
	escaped91,
 | 
			
		||||
	escaped92,
 | 
			
		||||
	escaped93,
 | 
			
		||||
	escaped94,
 | 
			
		||||
	escaped95,
 | 
			
		||||
	escaped96,
 | 
			
		||||
	escaped97,
 | 
			
		||||
	escaped98,
 | 
			
		||||
	escaped99,
 | 
			
		||||
	escaped9A,
 | 
			
		||||
	escaped9B,
 | 
			
		||||
	escaped9C,
 | 
			
		||||
	escaped9D,
 | 
			
		||||
	escaped9E,
 | 
			
		||||
	escaped9F,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var escapedQuotationMark   []byte = []byte(""")  //          """ """
 | 
			
		||||
var escapedApostrophe      []byte = []byte("'")  //          "'" "'"
 | 
			
		||||
var escapedAmpersand       []byte = []byte("&")  // "&"  "&"
 | 
			
		||||
var escapedLessThanSign    []byte = []byte("<")   // "<"  "<"
 | 
			
		||||
var escapedGreaterThanSign []byte = []byte(">")   // ">"  ">"
 | 
			
		||||
 | 
			
		||||
// safeRune will only escape the rune 'r' if it is necessary or wise to do so.
 | 
			
		||||
// The returned []byte is in UTF-8 — although all the values returned are in the sub-set of Unicode that is also ASCII.
 | 
			
		||||
// So it is both valid UTF-8 and ASCII.
 | 
			
		||||
func safeRune(r rune) (escapedRune []byte, wasEscaped bool) {
 | 
			
		||||
	switch r {
 | 
			
		||||
	case '"':
 | 
			
		||||
		return escapedQuotationMark, true
 | 
			
		||||
	case '\'':
 | 
			
		||||
		return escapedApostrophe, true
 | 
			
		||||
	case '&':
 | 
			
		||||
		return escapedAmpersand, true
 | 
			
		||||
	case '<':
 | 
			
		||||
		return escapedLessThanSign, true
 | 
			
		||||
	case '>':
 | 
			
		||||
		return escapedGreaterThanSign, true
 | 
			
		||||
	default:
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if int64(0) <= int64(r) && int64(r) < int64(len(ctrlBlock0)) {
 | 
			
		||||
		return ctrlBlock0[int(r)], true
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if minCtrlBlock1 <= int64(r) && int64(r) < (minCtrlBlock1 + int64(len(ctrlBlock1))) {
 | 
			
		||||
		return ctrlBlock1[int(r) - minCtrlBlock1], true
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil, false
 | 
			
		||||
}
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue