kdhcp/iptools/tools.go

29 lines
486 B
Go
Raw Normal View History

package iptools
2023-05-06 05:21:27 +00:00
import (
"fmt"
)
2023-05-06 05:21:27 +00:00
func enumerateRange(name string, r *Range, startFromOne bool) []*LeaseInfo {
start := r.Start
cur := start
lenfmt := fmt.Sprintf("%%s%%0%dd", len(fmt.Sprintf("%d", r.numHosts())))
i := 0
if startFromOne {
i++
}
2023-05-06 05:21:27 +00:00
leases := []*LeaseInfo{}
for r.End.Compare(cur) >= 0 {
2023-05-06 05:21:27 +00:00
hostName := fmt.Sprintf(lenfmt, name, i)
leases = append(leases, &LeaseInfo{
HostName: hostName,
Addr: cur,
})
i++
cur = cur.Next()
}
return leases
}