;;;;
;;;; 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.6 2002/03/10 20:01:55 kevin Exp $
;;;;
;;;; This file is part of UFFI.
;;;;
(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")
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