From c6cc0108ca7738023b45e0eeac0fa2390532dd93 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Fri, 25 Oct 2024 00:47:47 +0200 Subject: Added vendor lock on deps --- vendor/github.com/gosimple/unidecode/decode.go | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 vendor/github.com/gosimple/unidecode/decode.go (limited to 'vendor/github.com/gosimple/unidecode/decode.go') diff --git a/vendor/github.com/gosimple/unidecode/decode.go b/vendor/github.com/gosimple/unidecode/decode.go new file mode 100644 index 0000000..f99e0bb --- /dev/null +++ b/vendor/github.com/gosimple/unidecode/decode.go @@ -0,0 +1,44 @@ +package unidecode + +import ( + "compress/zlib" + "io" + "strings" +) + +const ( + dummyLenght = byte(0xff) +) + +var ( + transliterations [65536][]rune + transCount = rune(len(transliterations)) +) + +func decodeTransliterations() { + r, err := zlib.NewReader(strings.NewReader(tableData)) + if err != nil { + panic(err) + } + defer r.Close() + b := make([]byte, 0, 13) // 13 = longest transliteration, adjust if needed + lenB := b[:1] + chr := uint16(0xffff) // char counter, rely on overflow on first pass + for { + chr++ + if _, err := io.ReadFull(r, lenB); err != nil { + if err == io.EOF { + break + } + panic(err) + } + if lenB[0] == dummyLenght { + continue + } + b = b[:lenB[0]] // resize, preserving allocation + if _, err := io.ReadFull(r, b); err != nil { + panic(err) + } + transliterations[int(chr)] = []rune(string(b)) + } +} -- cgit v1.2.3