1
0
Fork 0
forked from External/ergo

strings: Use inbuilt precis.Nickname encoding now

This commit is contained in:
Daniel Oaks 2016-10-27 00:44:36 +10:00
parent dab207d32b
commit c7fdb4656e
4 changed files with 19 additions and 93 deletions

View file

@ -8,6 +8,8 @@ package irc
import (
"errors"
"strings"
"golang.org/x/text/secure/precis"
)
var (
@ -16,12 +18,12 @@ var (
// Casefold returns a casefolded string, without doing any name or channel character checks.
func Casefold(str string) (string, error) {
return NicknameProfile.String(str)
return precis.Nickname.CompareKey(str)
}
// CasefoldChannel returns a casefolded version of a channel name.
func CasefoldChannel(name string) (string, error) {
lowered, err := NicknameProfile.String(name)
lowered, err := precis.Nickname.CompareKey(name)
if err != nil {
return "", err
@ -45,7 +47,7 @@ func CasefoldChannel(name string) (string, error) {
// CasefoldName returns a casefolded version of a nick/user name.
func CasefoldName(name string) (string, error) {
lowered, err := NicknameProfile.String(name)
lowered, err := precis.Nickname.CompareKey(name)
if err != nil {
return "", err