1
0
mirror of https://github.com/golang/go synced 2024-11-15 09:30:33 -07:00

net: use stringslite package for string operations

- Replace manual string suffix removal with stringslite.TrimSuffix in conf.go
- Use stringslite.Cut for string splitting in ParseCIDR function in ip.go
- Add stringslite import in ip.go

This change simplifies string operations and improves code readability.

Change-Id: I02c238d0bc91e95789d8060e6ef4c7d4f6e3f0d9
GitHub-Last-Rev: aef5dc5011
GitHub-Pull-Request: golang/go#67461
Reviewed-on: https://go-review.googlesource.com/c/go/+/586157
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Commit-Queue: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
This commit is contained in:
aimuz 2024-05-17 06:13:32 +00:00 committed by Gopher Robot
parent 105ac94486
commit 1667dbd7be
2 changed files with 4 additions and 6 deletions

View File

@ -336,9 +336,7 @@ func (c *conf) lookupOrder(r *Resolver, hostname string) (ret hostLookupOrder, d
} }
// Canonicalize the hostname by removing any trailing dot. // Canonicalize the hostname by removing any trailing dot.
if stringslite.HasSuffix(hostname, ".") { hostname = stringslite.TrimSuffix(hostname, ".")
hostname = hostname[:len(hostname)-1]
}
nss := getSystemNSS() nss := getSystemNSS()
srcs := nss.sources["hosts"] srcs := nss.sources["hosts"]

View File

@ -15,6 +15,7 @@ package net
import ( import (
"internal/bytealg" "internal/bytealg"
"internal/itoa" "internal/itoa"
"internal/stringslite"
"net/netip" "net/netip"
) )
@ -515,11 +516,10 @@ func parseIP(s string) ([16]byte, bool) {
// For example, ParseCIDR("192.0.2.1/24") returns the IP address // For example, ParseCIDR("192.0.2.1/24") returns the IP address
// 192.0.2.1 and the network 192.0.2.0/24. // 192.0.2.1 and the network 192.0.2.0/24.
func ParseCIDR(s string) (IP, *IPNet, error) { func ParseCIDR(s string) (IP, *IPNet, error) {
i := bytealg.IndexByteString(s, '/') addr, mask, found := stringslite.Cut(s, "/")
if i < 0 { if !found {
return nil, nil, &ParseError{Type: "CIDR address", Text: s} return nil, nil, &ParseError{Type: "CIDR address", Text: s}
} }
addr, mask := s[:i], s[i+1:]
ipAddr, err := netip.ParseAddr(addr) ipAddr, err := netip.ParseAddr(addr)
if err != nil || ipAddr.Zone() != "" { if err != nil || ipAddr.Zone() != "" {