X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fcompress.cl;h=4cb184f6299239d0240ac1b743329a9710f05960;hb=d088e362ddd9bdd99c2d1815ab87c5328cdc92a3;hp=cf3bec4e90f6fa66f323bf249a203eebd8a90d8b;hpb=192193db6e4fbda90a840474d4aa2e8762597927;p=uffi.git diff --git a/tests/compress.cl b/tests/compress.cl index cf3bec4..4cb184f 100644 --- a/tests/compress.cl +++ b/tests/compress.cl @@ -9,7 +9,7 @@ ;;;; ;;;; Copyright (c) 2002 Kevin M. Rosenberg ;;;; -;;;; $Id: compress.cl,v 1.1 2002/03/09 19:55:33 kevin Exp $ +;;;; $Id: compress.cl,v 1.5 2002/03/10 11:13:07 kevin Exp $ ;;;; ;;;; This file is part of UFFI. ;;;; @@ -32,10 +32,10 @@ (unless (uffi:load-foreign-library "/usr/lib/libz.so" "zlib" '("c")) (warn "Unable to load zlib")) -(uffi:def-routine ("compress" c-compress) +(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 +45,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 +64,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")))