kdhcp/iptools/tools.go

26 lines
455 B
Go

package iptools
import "fmt"
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++
}
leases := []LeaseInfo{}
for r.End.Compare(cur) >= 0 {
leases = append(leases, LeaseInfo{
HostName: fmt.Sprintf(lenfmt, name, i),
Addr: cur,
})
i++
cur = cur.Next()
}
return leases
}