(process (rec dom ttl)
(multiple-value-bind (top sub) (sift rec ttl)
(if (and dom (null top) sub)
- (let ((preferred nil))
- (dolist (s sub)
- (when (some #'zone-preferred-subnet-p
- (listify (zs-name s)))
- (setf preferred s)))
- (unless preferred
- (setf preferred (car sub)))
+ (let ((preferred
+ (or (find-if (lambda (s)
+ (some #'zone-preferred-subnet-p
+ (listify (zs-name s))))
+ sub)
+ (car sub))))
(when preferred
(process (zs-records preferred)
dom
(rec :name (zone-parse-host "mask" name)
:type :a
:data (ipnet-mask n))
- (rec :name (zone-parse-host "broadcast" name)
+ (rec :name (zone-parse-host "bcast" name)
:type :a
:data (ipnet-broadcast n)))))