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:
parent
105ac94486
commit
1667dbd7be
@ -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"]
|
||||||
|
@ -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() != "" {
|
||||||
|
Loading…
Reference in New Issue
Block a user