projects
/
uffi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r1546: *** empty log message ***
[uffi.git]
/
tests
/
compress.cl
diff --git
a/tests/compress.cl
b/tests/compress.cl
index cf3bec4e90f6fa66f323bf249a203eebd8a90d8b..3b41eb9b6b3efcf3f57163811501007d674c6eb0 100644
(file)
--- a/
tests/compress.cl
+++ b/
tests/compress.cl
@@
-9,7
+9,7
@@
;;;;
;;;; Copyright (c) 2002 Kevin M. Rosenberg
;;;;
;;;;
;;;; 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.
6 2002/03/10 20:01:55
kevin Exp $
;;;;
;;;; This file is part of UFFI.
;;;;
;;;;
;;;; This file is part of UFFI.
;;;;
@@
-29,13
+29,15
@@
(in-package :cl-user)
(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"))
(warn "Unable to load zlib"))
-(uffi:def-
routine
("compress" c-compress)
+(uffi:def-
function
("compress" c-compress)
((dest (* :unsigned-char))
(destlen (* :long))
((dest (* :unsigned-char))
(destlen (* :long))
- (source :c
-
string)
+ (source :cstring)
(source-len :long))
:returning :int
:module "zlib")
(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))))
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)
(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
(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)))))))
(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")))