zone.lisp: TXT record data is always a list of strings.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 28 Apr 2014 09:03:50 +0000 (10:03 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 28 Apr 2014 09:03:50 +0000 (10:03 +0100)
Never a singleton.  Otherwise all output formats must do the listifying
separately, and that's just annoying.

zone.lisp

index 6b84dac..633e0d4 100644 (file)
--- a/zone.lisp
+++ b/zone.lisp
   (rec :data (zone-parse-host data zname)))
 
 (defzoneparse :txt (name data rec)
-  ":txt TEXT"
-  (rec :data data))
+  ":txt (TEXT*)"
+  (rec :data (listify data)))
 
 (export '*dkim-pathname-defaults*)
 (defvar *dkim-pathname-defaults*
@@ -1003,7 +1003,7 @@ $TTL ~2@*~D~2%"
     (cons "~2D ~2D ~A" data))
   (:method ((type (eql :txt)) data)
     (cons "~#[\"\"~;~S~:;(~@{~%~8T~S~} )~]"
-         (mapcar #'stringify (listify data)))))
+         (mapcar #'stringify data))))
 
 (defmethod bind-record (type zr)
   (destructuring-bind (format &rest args)