From 20b928e0874fc8da727e5b9e635b03719e91e8c8 Mon Sep 17 00:00:00 2001
From: Teddy Wing
Date: Fri, 21 Apr 2023 20:02:21 +0200
Subject: xfdf.lisp: Extract wrapper field printing code to function
---
src/xfdf.lisp | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
(limited to 'src')
diff --git a/src/xfdf.lisp b/src/xfdf.lisp
index 98516a3..726b578 100644
--- a/src/xfdf.lisp
+++ b/src/xfdf.lisp
@@ -52,16 +52,7 @@ list."
(rest field)
field)))
(field-xfdf* subname subfield (1+ nesting-level))))))
- (format nil "~
-~v{~A~:*~}
-~{~A~}~v{~A~:*~}
-"
-indent
-'(" ")
-name
-inner-fields
-indent
-'(" ")))
+ (build-xfdf-outer-field name inner-fields indent))
;; TODO: Put checkbox stuff here.
(let ((value (pdf-checkbox-value value)))
@@ -78,6 +69,19 @@ If `value` is anything else, return its identity."
((eq value nil) "Off")
(t value)))
+(defun build-xfdf-outer-field (name inner-fields-str indent)
+ "Build the XFDF XML for a field containing other fields."
+ (format nil "~
+~v{~A~:*~}
+~{~A~}~v{~A~:*~}
+"
+indent
+'(" ")
+name
+inner-fields-str
+indent
+'(" ")))
+
(defun build-xfdf-field (name value indent)
(format nil "~
~v{~A~:*~}
--
cgit v1.2.3