X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Fcompress.cl;h=3b41eb9b6b3efcf3f57163811501007d674c6eb0;hb=e9427febae05e5563f723f72487fc11365033d8d;hp=7787b69939d001a512ecc31684d69426eb93c3e7;hpb=bc5968d54cee0416db7db9ee2c7295489170bccf;p=uffi.git diff --git a/tests/compress.cl b/tests/compress.cl index 7787b69..3b41eb9 100644 --- a/tests/compress.cl +++ b/tests/compress.cl @@ -9,7 +9,7 @@ ;;;; ;;;; Copyright (c) 2002 Kevin M. Rosenberg ;;;; -;;;; $Id: compress.cl,v 1.2 2002/03/09 21:19:31 kevin Exp $ +;;;; $Id: compress.cl,v 1.6 2002/03/10 20:01:55 kevin Exp $ ;;;; ;;;; This file is part of UFFI. ;;;; @@ -29,13 +29,15 @@ (in-package :cl-user) -(unless (uffi:load-foreign-library "/usr/lib/libz.so" "zlib" '("c")) +(unless (uffi:load-foreign-library "/usr/lib/libz.so" + :module "zlib" + :supporting-libraries '("c")) (warn "Unable to load zlib")) (uffi:def-function ("compress" c-compress) ((dest (* :unsigned-char)) (destlen (* :long)) - (source :c-string) + (source :cstring) (source-len :long)) :returning :int :module "zlib") @@ -45,10 +47,10 @@ and the numbe of compressed bytes" (let* ((sourcelen (length source)) (destsize (+ 12 (ceiling (* sourcelen 1.01)))) - (dest (uffi:allocate-foreign-string destsize)) + (dest (uffi:allocate-foreign-string destsize :unsigned t)) (destlen (uffi:allocate-foreign-object :long))) (setf (uffi:deref-pointer destlen :long) destsize) - (uffi:with-c-string (source-native source) + (uffi:with-cstring (source-native source) (let ((result (c-compress dest destlen source-native sourcelen)) (newdestlen (uffi:deref-pointer destlen :long))) (unwind-protect @@ -64,3 +66,11 @@ (uffi:free-foreign-object dest))))))) +#+test-uffi +(progn + (flet ((print-results (str) + (multiple-value-bind (compressed len) (compress str) + (format t "~&(compress ~S) => ~S,~D" str compressed len)))) + (print-results "") + (print-results "test") + (print-results "test2")))