[Lisppaste-cvs] CVS update: lisppaste2/xml-paste.lisp

Brian Mastenbrook bmastenbrook at common-lisp.net
Fri May 21 21:29:22 UTC 2004


Update of /project/lisppaste/cvsroot/lisppaste2
In directory common-lisp.net:/home/bmastenbrook/lisppaste2

Modified Files:
	xml-paste.lisp 
Log Message:
paste maximum size

Date: Fri May 21 17:29:22 2004
Author: bmastenbrook

Index: lisppaste2/xml-paste.lisp
diff -u lisppaste2/xml-paste.lisp:1.4 lisppaste2/xml-paste.lisp:1.5
--- lisppaste2/xml-paste.lisp:1.4	Tue Apr 27 17:47:32 2004
+++ lisppaste2/xml-paste.lisp	Fri May 21 17:29:22 2004
@@ -25,34 +25,37 @@
                          "Error: all arguments must be strings."
                          (if (not (every (lambda (s) (> (length s) 0)) (list paste-channel paste-user paste-title paste-contents)))
                              "Error: all arguments must be non-empty strings."
-                             (let ((annotate-this (if annotate (find annotate *pastes* :key #'paste-number)))
-				   (paste-contents (remove #\return paste-contents)))
-                               (if (if annotate
-                                       (not (string-equal paste-channel (paste-channel annotate-this)))
-                                       (not (member paste-channel *channels* :test #'string-equal)))
-                                   (format nil "Error: invalid channel ~S." paste-channel)
-                                   (let* ((number (if annotate
-                                                      (incf (paste-annotation-counter annotate-this))
-                                                      (incf *paste-counter*)))
-                                          (url (araneida:urlstring
-                                                (araneida:merge-url *display-paste-url*
-                                                                    (if annotate
-                                                                        (format nil "~A#~A"
-                                                                                (paste-number annotate-this)
-                                                                                number)
-                                                                        (prin1-to-string number))))))
-                                     (make-new-paste *pastes* (annotate
-                                                               (paste-number annotate-this)
-                                                               (paste-annotations annotate-this))
-                                                     url
-                                                     :number number
-                                                     :user paste-user
-                                                     :title paste-title
-                                                     :contents paste-contents
-                                                     :universal-time (get-universal-time)
-                                                     :channel paste-channel)
-                                     (format nil "Your paste has been announced to ~A and is available at ~A ."
-                                             paste-channel url))))))))
+                             (if (> (length paste-contents)
+                                    *paste-maximum-size*)
+                                 "Error: paste too large."
+                                 (let ((annotate-this (if annotate (find annotate *pastes* :key #'paste-number)))
+                                       (paste-contents (remove #\return paste-contents)))
+                                   (if (if annotate
+                                           (not (string-equal paste-channel (paste-channel annotate-this)))
+                                           (not (member paste-channel *channels* :test #'string-equal)))
+                                       (format nil "Error: invalid channel ~S." paste-channel)
+                                       (let* ((number (if annotate
+                                                          (incf (paste-annotation-counter annotate-this))
+                                                          (incf *paste-counter*)))
+                                              (url (araneida:urlstring
+                                                    (araneida:merge-url *display-paste-url*
+                                                                        (if annotate
+                                                                            (format nil "~A#~A"
+                                                                                    (paste-number annotate-this)
+                                                                                    number)
+                                                                            (prin1-to-string number))))))
+                                         (make-new-paste *pastes* (annotate
+                                                                   (paste-number annotate-this)
+                                                                   (paste-annotations annotate-this))
+                                                         url
+                                                         :number number
+                                                         :user paste-user
+                                                         :title paste-title
+                                                         :contents paste-contents
+                                                         :universal-time (get-universal-time)
+                                                         :channel paste-channel)
+                                         (format nil "Your paste has been announced to ~A and is available at ~A ."
+                                                 paste-channel url)))))))))
 		  ((string-equal method-name "pasteheaders")
 		   (destructuring-bind
 		    (length &optional supplied-start) args





More information about the Lisppaste-cvs mailing list