r1529: *** empty log message ***
[uffi.git] / examples / compress.cl
index 1ef513db8adde6bf4ae8d5ff595159db9a56fe52..4cb184f6299239d0240ac1b743329a9710f05960 100644 (file)
@@ -9,7 +9,7 @@
 ;;;;
 ;;;; Copyright (c) 2002 Kevin M. Rosenberg
 ;;;;
-;;;; $Id: compress.cl,v 1.3 2002/03/10 04:15:33 kevin Exp $
+;;;; $Id: compress.cl,v 1.5 2002/03/10 11:13:07 kevin Exp $
 ;;;;
 ;;;; This file is part of UFFI. 
 ;;;;
@@ -35,7 +35,7 @@
 (uffi:def-function ("compress" c-compress)
     ((dest (* :unsigned-char))
      (destlen (* :long))
-     (source :c-string)
+     (source :cstring)
      (source-len :long))
   :returning :int
   :module "zlib")
  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