- 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:
aef5dc5011217abc95b2a2d7c1d991ca84060d59
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>
}
// Canonicalize the hostname by removing any trailing dot.
- if stringslite.HasSuffix(hostname, ".") {
- hostname = hostname[:len(hostname)-1]
- }
+ hostname = stringslite.TrimSuffix(hostname, ".")
nss := getSystemNSS()
srcs := nss.sources["hosts"]
import (
"internal/bytealg"
"internal/itoa"
+ "internal/stringslite"
"net/netip"
)
// For example, ParseCIDR("192.0.2.1/24") returns the IP address
// 192.0.2.1 and the network 192.0.2.0/24.
func ParseCIDR(s string) (IP, *IPNet, error) {
- i := bytealg.IndexByteString(s, '/')
- if i < 0 {
+ addr, mask, found := stringslite.Cut(s, "/")
+ if !found {
return nil, nil, &ParseError{Type: "CIDR address", Text: s}
}
- addr, mask := s[:i], s[i+1:]
ipAddr, err := netip.ParseAddr(addr)
if err != nil || ipAddr.Zone() != "" {