From 473acc61c8392dc7ae303d91568e179c4f105a76 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 2 Jul 2019 12:12:53 +0200 Subject: add black list --- .../x/text/encoding/ianaindex/ianaindex.go | 209 --------------------- 1 file changed, 209 deletions(-) delete mode 100644 vendor/golang.org/x/text/encoding/ianaindex/ianaindex.go (limited to 'vendor/golang.org/x/text/encoding/ianaindex/ianaindex.go') diff --git a/vendor/golang.org/x/text/encoding/ianaindex/ianaindex.go b/vendor/golang.org/x/text/encoding/ianaindex/ianaindex.go deleted file mode 100644 index 49b3070..0000000 --- a/vendor/golang.org/x/text/encoding/ianaindex/ianaindex.go +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:generate go run gen.go - -// Package ianaindex maps names to Encodings as specified by the IANA registry. -// This includes both the MIME and IANA names. -// -// See http://www.iana.org/assignments/character-sets/character-sets.xhtml for -// more details. -package ianaindex - -import ( - "errors" - "sort" - "strings" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/charmap" - "golang.org/x/text/encoding/internal/identifier" - "golang.org/x/text/encoding/japanese" - "golang.org/x/text/encoding/korean" - "golang.org/x/text/encoding/simplifiedchinese" - "golang.org/x/text/encoding/traditionalchinese" - "golang.org/x/text/encoding/unicode" -) - -// TODO: remove the "Status... incomplete" in the package doc comment. -// TODO: allow users to specify their own aliases? -// TODO: allow users to specify their own indexes? -// TODO: allow canonicalizing names - -// NOTE: only use these top-level variables if we can get the linker to drop -// the indexes when they are not used. Make them a function or perhaps only -// support MIME otherwise. - -var ( - // MIME is an index to map MIME names. - MIME *Index = mime - - // IANA is an index that supports all names and aliases using IANA names as - // the canonical identifier. - IANA *Index = iana - - // MIB is an index that associates the MIB display name with an Encoding. - MIB *Index = mib - - mime = &Index{mimeName, ianaToMIB, ianaAliases, encodings[:]} - iana = &Index{ianaName, ianaToMIB, ianaAliases, encodings[:]} - mib = &Index{mibName, ianaToMIB, ianaAliases, encodings[:]} -) - -// Index maps names registered by IANA to Encodings. -// Currently different Indexes only differ in the names they return for -// encodings. In the future they may also differ in supported aliases. -type Index struct { - names func(i int) string - toMIB []identifier.MIB // Sorted slice of supported MIBs - alias map[string]int - enc []encoding.Encoding -} - -var ( - errInvalidName = errors.New("ianaindex: invalid encoding name") - errUnknown = errors.New("ianaindex: unknown Encoding") - errUnsupported = errors.New("ianaindex: unsupported Encoding") -) - -// Encoding returns an Encoding for IANA-registered names. Matching is -// case-insensitive. -func (x *Index) Encoding(name string) (encoding.Encoding, error) { - name = strings.TrimSpace(name) - // First try without lowercasing (possibly creating an allocation). - i, ok := x.alias[name] - if !ok { - i, ok = x.alias[strings.ToLower(name)] - if !ok { - return nil, errInvalidName - } - } - return x.enc[i], nil -} - -// Name reports the canonical name of the given Encoding. It will return an -// error if the e is not associated with a known encoding scheme. -func (x *Index) Name(e encoding.Encoding) (string, error) { - id, ok := e.(identifier.Interface) - if !ok { - return "", errUnknown - } - mib, _ := id.ID() - if mib == 0 { - return "", errUnknown - } - v := findMIB(x.toMIB, mib) - if v == -1 { - return "", errUnsupported - } - return x.names(v), nil -} - -// TODO: the coverage of this index is rather spotty. Allowing users to set -// encodings would allow: -// - users to increase coverage -// - allow a partially loaded set of encodings in case the user doesn't need to -// them all. -// - write an OS-specific wrapper for supported encodings and set them. -// The exact definition of Set depends a bit on if and how we want to let users -// write their own Encoding implementations. Also, it is not possible yet to -// only partially load the encodings without doing some refactoring. Until this -// is solved, we might as well not support Set. -// // Set sets the e to be used for the encoding scheme identified by name. Only -// // canonical names may be used. An empty name assigns e to its internally -// // associated encoding scheme. -// func (x *Index) Set(name string, e encoding.Encoding) error { -// panic("TODO: implement") -// } - -func findMIB(x []identifier.MIB, mib identifier.MIB) int { - i := sort.Search(len(x), func(i int) bool { return x[i] >= mib }) - if i < len(x) && x[i] == mib { - return i - } - return -1 -} - -const maxMIMENameLen = '0' - 1 // officially 40, but we leave some buffer. - -func mimeName(x int) string { - n := ianaNames[x] - // See gen.go for a description of the encoding. - if n[0] <= maxMIMENameLen { - return n[1:n[0]] - } - return n -} - -func ianaName(x int) string { - n := ianaNames[x] - // See gen.go for a description of the encoding. - if n[0] <= maxMIMENameLen { - return n[n[0]:] - } - return n -} - -func mibName(x int) string { - return mibNames[x] -} - -var encodings = [numIANA]encoding.Encoding{ - enc106: unicode.UTF8, - enc1015: unicode.UTF16(unicode.BigEndian, unicode.UseBOM), - enc1013: unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM), - enc1014: unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), - enc2028: charmap.CodePage037, - enc2011: charmap.CodePage437, - enc2009: charmap.CodePage850, - enc2010: charmap.CodePage852, - enc2046: charmap.CodePage855, - enc2089: charmap.CodePage858, - enc2048: charmap.CodePage860, - enc2013: charmap.CodePage862, - enc2050: charmap.CodePage863, - enc2052: charmap.CodePage865, - enc2086: charmap.CodePage866, - enc2102: charmap.CodePage1047, - enc2091: charmap.CodePage1140, - enc4: charmap.ISO8859_1, - enc5: charmap.ISO8859_2, - enc6: charmap.ISO8859_3, - enc7: charmap.ISO8859_4, - enc8: charmap.ISO8859_5, - enc9: charmap.ISO8859_6, - enc81: charmap.ISO8859_6E, - enc82: charmap.ISO8859_6I, - enc10: charmap.ISO8859_7, - enc11: charmap.ISO8859_8, - enc84: charmap.ISO8859_8E, - enc85: charmap.ISO8859_8I, - enc12: charmap.ISO8859_9, - enc13: charmap.ISO8859_10, - enc109: charmap.ISO8859_13, - enc110: charmap.ISO8859_14, - enc111: charmap.ISO8859_15, - enc112: charmap.ISO8859_16, - enc2084: charmap.KOI8R, - enc2088: charmap.KOI8U, - enc2027: charmap.Macintosh, - enc2109: charmap.Windows874, - enc2250: charmap.Windows1250, - enc2251: charmap.Windows1251, - enc2252: charmap.Windows1252, - enc2253: charmap.Windows1253, - enc2254: charmap.Windows1254, - enc2255: charmap.Windows1255, - enc2256: charmap.Windows1256, - enc2257: charmap.Windows1257, - enc2258: charmap.Windows1258, - enc18: japanese.EUCJP, - enc39: japanese.ISO2022JP, - enc17: japanese.ShiftJIS, - enc38: korean.EUCKR, - enc114: simplifiedchinese.GB18030, - enc113: simplifiedchinese.GBK, - enc2085: simplifiedchinese.HZGB2312, - enc2026: traditionalchinese.Big5, -} -- cgit v1.2.3