From c22c9dc7c2bf7376531517e6ee93821d7d571cd6 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Sat, 29 Dec 2007 16:28:19 -0500 Subject: [PATCH] Add and use MAKE-STREAM-OUTPUT-CALLBACK. --- user.lisp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/user.lisp b/user.lisp index d67d2b9..6590bf5 100644 --- a/user.lisp +++ b/user.lisp @@ -28,11 +28,14 @@ (in-package #:salza2) +(defun make-stream-output-callback (stream) + "Return a function suitable for use as a compressor callback that +writes all compressed data to STREAM." + (lambda (buffer end) + (write-sequence buffer stream :end end))) + (defun gzip-stream (input output) - (let ((callback (lambda (data end) - (write-sequence data - output - :end end))) + (let ((callback (make-stream-output-callback output)) (buffer (make-array 8192 :element-type '(unsigned-byte 8)))) (with-compressor (compressor 'gzip-compressor :callback callback) -- 2.11.4.GIT