all: use iterators over slice views more

This gets close to all of the remaining ones.

Updates #12912

Change-Id: I9c672bbed2654a6c5cab31e0cbece6c107d8c6fa
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2024-11-11 13:08:47 -08:00
committed by Brad Fitzpatrick
parent 00be1761b7
commit 4e0fc037e6
20 changed files with 62 additions and 86 deletions

View File

@@ -279,15 +279,14 @@ func (a *NetworkMap) equalConciseHeader(b *NetworkMap) bool {
// in nodeConciseEqual in sync.
func printPeerConcise(buf *strings.Builder, p tailcfg.NodeView) {
aip := make([]string, p.AllowedIPs().Len())
for i := range aip {
a := p.AllowedIPs().At(i)
s := strings.TrimSuffix(fmt.Sprint(a), "/32")
for i, a := range p.AllowedIPs().All() {
s := strings.TrimSuffix(a.String(), "/32")
aip[i] = s
}
ep := make([]string, p.Endpoints().Len())
for i := range ep {
e := p.Endpoints().At(i).String()
epStrs := make([]string, p.Endpoints().Len())
for i, ep := range p.Endpoints().All() {
e := ep.String()
// Align vertically on the ':' between IP and port
colon := strings.IndexByte(e, ':')
spaces := 0
@@ -295,7 +294,7 @@ func printPeerConcise(buf *strings.Builder, p tailcfg.NodeView) {
spaces++
colon--
}
ep[i] = fmt.Sprintf("%21v", e+strings.Repeat(" ", spaces))
epStrs[i] = fmt.Sprintf("%21v", e+strings.Repeat(" ", spaces))
}
derp := p.DERP()
@@ -316,7 +315,7 @@ func printPeerConcise(buf *strings.Builder, p tailcfg.NodeView) {
discoShort,
derp,
strings.Join(aip, " "),
strings.Join(ep, " "))
strings.Join(epStrs, " "))
}
// nodeConciseEqual reports whether a and b are equal for the fields accessed by printPeerConcise.