X-Git-Url: https://git.distorted.org.uk/~mdw/zone/blobdiff_plain/4440be0decb5ad76b2d33c8d59c829d3bcbb3a69..64e34a970f8a28e8317b9e5faa1e608639aada7f:/zone.lisp diff --git a/zone.lisp b/zone.lisp index 05af14f..8769fa3 100644 --- a/zone.lisp +++ b/zone.lisp @@ -274,13 +274,12 @@ (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 @@ -653,7 +652,7 @@ (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)))))