zone.lisp: Have `bind-format-record''s caller provide the newline.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 22 Dec 2014 20:37:40 +0000 (20:37 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 22 Dec 2014 22:23:03 +0000 (22:23 +0000)
This allows callers to append their own stuff if they want to.

zone.lisp

index 9ce8a34..e819cd1 100644 (file)
--- a/zone.lisp
+++ b/zone.lisp
@@ -1245,7 +1245,7 @@ $TTL ~2@*~D~2%"
 (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 @@ $TTL ~2@*~D~2%"
           (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.