summaryrefslogtreecommitdiff
path: root/vendor/github.com/tdewolff/parse/v2/html/util.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2022-04-26 20:30:25 -0700
committerLibravatar Terin Stock <terinjokes@gmail.com>2023-01-31 15:16:42 +0100
commit83b4c9ebc87d0fddf4e638f13e3af1483912e3a5 (patch)
tree47840b84c0fd3cb226eab2ecb3dbce0617163406 /vendor/github.com/tdewolff/parse/v2/html/util.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-83b4c9ebc87d0fddf4e638f13e3af1483912e3a5.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/tdewolff/parse/v2/html/util.go')
-rw-r--r--vendor/github.com/tdewolff/parse/v2/html/util.go113
1 files changed, 0 insertions, 113 deletions
diff --git a/vendor/github.com/tdewolff/parse/v2/html/util.go b/vendor/github.com/tdewolff/parse/v2/html/util.go
deleted file mode 100644
index 0dbd52ca0..000000000
--- a/vendor/github.com/tdewolff/parse/v2/html/util.go
+++ /dev/null
@@ -1,113 +0,0 @@
-package html
-
-var (
- singleQuoteEntityBytes = []byte("&#39;")
- doubleQuoteEntityBytes = []byte("&#34;")
-)
-
-// EscapeAttrVal returns the escaped attribute value bytes with quotes. Either single or double quotes are used, whichever is shorter. If there are no quotes present in the value and the value is in HTML (not XML), it will return the value without quotes.
-func EscapeAttrVal(buf *[]byte, b []byte, origQuote byte, mustQuote, isXML bool) []byte {
- singles := 0
- doubles := 0
- unquoted := true
- for _, c := range b {
- if charTable[c] {
- unquoted = false
- if c == '"' {
- doubles++
- } else if c == '\'' {
- singles++
- }
- }
- }
- if unquoted && (!mustQuote || origQuote == 0) && !isXML {
- return b
- } else if singles == 0 && origQuote == '\'' && !isXML || doubles == 0 && origQuote == '"' {
- if len(b)+2 > cap(*buf) {
- *buf = make([]byte, 0, len(b)+2)
- }
- t := (*buf)[:len(b)+2]
- t[0] = origQuote
- copy(t[1:], b)
- t[1+len(b)] = origQuote
- return t
- }
-
- n := len(b) + 2
- var quote byte
- var escapedQuote []byte
- if singles >= doubles || isXML {
- n += doubles * 4
- quote = '"'
- escapedQuote = doubleQuoteEntityBytes
- if singles == doubles && origQuote == '\'' && !isXML {
- quote = '\''
- escapedQuote = singleQuoteEntityBytes
- }
- } else {
- n += singles * 4
- quote = '\''
- escapedQuote = singleQuoteEntityBytes
- }
- if n > cap(*buf) {
- *buf = make([]byte, 0, n) // maximum size, not actual size
- }
- t := (*buf)[:n] // maximum size, not actual size
- t[0] = quote
- j := 1
- start := 0
- for i, c := range b {
- if c == quote {
- j += copy(t[j:], b[start:i])
- j += copy(t[j:], escapedQuote)
- start = i + 1
- }
- }
- j += copy(t[j:], b[start:])
- t[j] = quote
- return t[:j+1]
-}
-
-var charTable = [256]bool{
- // ASCII
- false, false, false, false, false, false, false, false,
- false, true, true, false, true, true, false, false, // tab, line feed, form feed, carriage return
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
-
- true, false, true, false, false, false, false, true, // space, "), '
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, true, true, true, false, // <, =, >
-
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
-
- true, false, false, false, false, false, false, false, // `
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
-
- // non-ASCII
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
-
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
-
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
-
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
-}