only need to dupe string for zalgo if zerowidth present

This commit is contained in:
Ted Unangst 2019-04-25 10:59:57 -04:00
parent dd522b8243
commit 49d1574575
1 changed files with 20 additions and 9 deletions

View File

@ -70,8 +70,17 @@ func unpucker(s string) string {
return string(x) return string(x)
} }
s = re_alltheshitz.ReplaceAllStringFunc(s, fixer) s = re_alltheshitz.ReplaceAllStringFunc(s, fixer)
x := make([]byte, 0, len(s))
zw := false zw := false
for _, c := range s {
if runewidth.RuneWidth(c) == 0 {
zw = true
break
}
}
if zw {
x := make([]byte, 0, len(s))
zw = false
for _, c := range s { for _, c := range s {
if runewidth.RuneWidth(c) == 0 { if runewidth.RuneWidth(c) == 0 {
if zw { if zw {
@ -85,4 +94,6 @@ func unpucker(s string) string {
x = append(x, []byte(q)...) x = append(x, []byte(q)...)
} }
return string(x) return string(x)
}
return s
} }