diff options
author | Oleksandr Redko <oleksandr.red+github@gmail.com> | 2024-06-14 04:26:33 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-14 01:26:33 +0000 |
commit | 1761459ebc7eb6d432eced093b4583425a5c5d4b (patch) | |
tree | e4f6f2d7e9cd7c6d38665bd0991179b67157f4d6 /modules/util | |
parent | 5b56d13e0d0ebb2b70c54567104faf4a208d0ab1 (diff) | |
download | gitea-1761459ebc7eb6d432eced093b4583425a5c5d4b.tar.gz gitea-1761459ebc7eb6d432eced093b4583425a5c5d4b.zip |
Refactor to use UnsafeStringToBytes (#31358)
The PR replaces all `goldmark/util.BytesToReadOnlyString` with
`util.UnsafeBytesToString`, `goldmark/util.StringToReadOnlyBytes` with
`util.UnsafeStringToBytes`. This removes one `TODO`.
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'modules/util')
-rw-r--r-- | modules/util/sanitize.go | 6 | ||||
-rw-r--r-- | modules/util/string.go | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/modules/util/sanitize.go b/modules/util/sanitize.go index f1ea2574f1..0dd8b342a2 100644 --- a/modules/util/sanitize.go +++ b/modules/util/sanitize.go @@ -6,8 +6,6 @@ package util import ( "bytes" "unicode" - - "github.com/yuin/goldmark/util" ) type sanitizedError struct { @@ -33,7 +31,7 @@ var schemeSep = []byte("://") // SanitizeCredentialURLs remove all credentials in URLs (starting with "scheme://") for the input string: "https://user:pass@domain.com" => "https://sanitized-credential@domain.com" func SanitizeCredentialURLs(s string) string { - bs := util.StringToReadOnlyBytes(s) + bs := UnsafeStringToBytes(s) schemeSepPos := bytes.Index(bs, schemeSep) if schemeSepPos == -1 || bytes.IndexByte(bs[schemeSepPos:], '@') == -1 { return s // fast return if there is no URL scheme or no userinfo @@ -70,5 +68,5 @@ func SanitizeCredentialURLs(s string) string { schemeSepPos = bytes.Index(bs, schemeSep) } out = append(out, bs...) - return util.BytesToReadOnlyString(out) + return UnsafeBytesToString(out) } diff --git a/modules/util/string.go b/modules/util/string.go index 2cf44d29b1..cf50f591c6 100644 --- a/modules/util/string.go +++ b/modules/util/string.go @@ -87,11 +87,11 @@ func ToSnakeCase(input string) string { } // UnsafeBytesToString uses Go's unsafe package to convert a byte slice to a string. -// TODO: replace all "goldmark/util.BytesToReadOnlyString" with this official approach func UnsafeBytesToString(b []byte) string { return unsafe.String(unsafe.SliceData(b), len(b)) } +// UnsafeStringToBytes uses Go's unsafe package to convert a string to a byte slice. func UnsafeStringToBytes(s string) []byte { return unsafe.Slice(unsafe.StringData(s), len(s)) } |