处理AI胡乱生成的乱摊子
This commit is contained in:
19
vendor/github.com/bytedance/sonic/utf8/utf8.go
generated
vendored
19
vendor/github.com/bytedance/sonic/utf8/utf8.go
generated
vendored
@@ -1,3 +1,6 @@
|
||||
//go:build (amd64 && go1.17 && !go1.26) || (arm64 && go1.20 && !go1.26)
|
||||
// +build amd64,go1.17,!go1.26 arm64,go1.20,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2022 ByteDance Inc.
|
||||
*
|
||||
@@ -17,6 +20,8 @@
|
||||
package utf8
|
||||
|
||||
import (
|
||||
`runtime`
|
||||
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/internal/native`
|
||||
@@ -27,7 +32,7 @@ func CorrectWith(dst []byte, src []byte, repl string) []byte {
|
||||
sstr := rt.Mem2Str(src)
|
||||
sidx := 0
|
||||
|
||||
/* state machine records the invalid postions */
|
||||
/* state machine records the invalid positions */
|
||||
m := types.NewStateMachine()
|
||||
m.Sp = 0 // invalid utf8 numbers
|
||||
|
||||
@@ -60,12 +65,20 @@ func CorrectWith(dst []byte, src []byte, repl string) []byte {
|
||||
return dst
|
||||
}
|
||||
|
||||
// Validate is a simd-accelereated drop-in replacement for the standard library's utf8.Valid.
|
||||
// Validate is a simd-accelerated drop-in replacement for the standard library's utf8.Valid.
|
||||
func Validate(src []byte) bool {
|
||||
if src == nil {
|
||||
return true
|
||||
}
|
||||
return ValidateString(rt.Mem2Str(src))
|
||||
}
|
||||
|
||||
// ValidateString as Validate, but for string.
|
||||
func ValidateString(src string) bool {
|
||||
return native.ValidateUTF8Fast(&src) == 0
|
||||
if src == "" {
|
||||
return true
|
||||
}
|
||||
ret := native.ValidateUTF8Fast(&src) == 0
|
||||
runtime.KeepAlive(src)
|
||||
return ret
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user