Update of /project/zip/cvsroot/zip In directory common-lisp.net:/tmp/cvs-serv1848
Modified Files: zip.lisp Log Message: don't call salza functions for empty subsequences (thanks to Edi Weitz for the bugreport)
Date: Tue Apr 5 16:04:31 2005 Author: dlichteblau
Index: zip/zip.lisp diff -u zip/zip.lisp:1.2 zip/zip.lisp:1.3 --- zip/zip.lisp:1.2 Sun Apr 3 22:42:01 2005 +++ zip/zip.lisp Tue Apr 5 16:04:30 2005 @@ -133,12 +133,14 @@ :callback #'flush-stream))) (loop (let ((end (read-sequence input-buffer input))) - (salza:zlib-write-sequence input-buffer zlib-stream :end end) - (incf nin end) - (setf crc (update-crc crc input-buffer end)) - (when (zerop end) - (salza:finish-zlib-stream zlib-stream) - (return (values nin nout crc))))))))) + (cond + ((plusp end) + (salza:zlib-write-sequence input-buffer zlib-stream :end end) + (incf nin end) + (setf crc (update-crc crc input-buffer end))) + (t + (salza:finish-zlib-stream zlib-stream) + (return (values nin nout crc))))))))))
(defun store (in out) "Copy uncompressed bytes from IN to OUT and return values like COMPRESS."