From: Mark Wooding Date: Mon, 22 Dec 2014 20:37:40 +0000 (+0000) Subject: zone.lisp: Have `bind-format-record''s caller provide the newline. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/zone/commitdiff_plain/0516211301c96f9394b73f36575b72ad21f51e4c zone.lisp: Have `bind-format-record''s caller provide the newline. This allows callers to append their own stuff if they want to. --- diff --git a/zone.lisp b/zone.lisp index 9ce8a34..e819cd1 100644 --- a/zone.lisp +++ b/zone.lisp @@ -1245,7 +1245,7 @@ (defmethod zone-write-header ((format (eql :bind)) zone) (export 'bind-format-record) (defun bind-format-record (zr format &rest args) (format *zone-output-stream* - "~A~20T~@[~8D~]~30TIN ~A~40T~?~%" + "~A~20T~@[~8D~]~30TIN ~A~40T~?" (bind-output-hostname (zr-name zr)) (let ((ttl (zr-ttl zr))) (and (/= ttl (zone-default-ttl *writing-zone*)) @@ -1279,35 +1279,36 @@ (defmethod zone-write-raw-rrdata ((format (eql :bind)) zr type data) (format *zone-output-stream* " )~%"))))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :a)) zr) - (bind-format-record zr "~A" (ipaddr-string (zr-data zr)))) + (bind-format-record zr "~A~%" (ipaddr-string (zr-data zr)))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :aaaa)) zr) - (bind-format-record zr "~A" (ipaddr-string (zr-data zr)))) + (bind-format-record zr "~A~%" (ipaddr-string (zr-data zr)))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :ptr)) zr) - (bind-format-record zr "~A" (bind-hostname (zr-data zr)))) + (bind-format-record zr "~A~%" (bind-hostname (zr-data zr)))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :cname)) zr) - (bind-format-record zr "~A" (bind-hostname (zr-data zr)))) + (bind-format-record zr "~A~%" (bind-hostname (zr-data zr)))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :ns)) zr) - (bind-format-record zr "~A" (bind-hostname (zr-data zr)))) + (bind-format-record zr "~A~%" (bind-hostname (zr-data zr)))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :mx)) zr) - (bind-format-record zr "~2D ~A" + (bind-format-record zr "~2D ~A~%" (cdr (zr-data zr)) (bind-hostname (car (zr-data zr))))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :srv)) zr) (destructuring-bind (prio weight port host) (zr-data zr) - (bind-format-record zr "~2D ~5D ~5D ~A" + (bind-format-record zr "~2D ~5D ~5D ~A~%" prio weight port (bind-hostname host)))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :sshfp)) zr) - (bind-format-record zr "~{~2D ~2D ~A~}" (zr-data zr))) + (bind-format-record zr "~{~2D ~2D ~A~}~%" (zr-data zr))) (defmethod zone-write-record ((format (eql :bind)) (type (eql :txt)) zr) - (bind-format-record zr "~{~#[\"\"~;~S~:;(~@{~%~8T~S~} )~]~}" (zr-data zr))) + (bind-format-record zr "~{~#[\"\"~;~S~:;(~@{~%~8T~S~} )~]~}~%" + (zr-data zr))) ;;;-------------------------------------------------------------------------- ;;; tinydns-data output format.