;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: strings.lisp,v 1.4 2002/10/16 11:56:43 kevin Exp $
+;;;; $Id: strings.lisp,v 1.7 2003/03/28 19:58:18 kevin Exp $
;;;;
;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
`(if (null ,obj)
+null-cstring-pointer+
(let ((ptr (new-ptr (1+ (length ,obj)))))
- (ccl:%put-cstring ptr ,obj)
+ (ccl::%put-cstring ptr ,obj)
ptr))
)
(defmacro free-cstring (obj)
#+(or cmu sbcl scl lispworks) (declare (ignore obj))
#+allegro
- `(unless (zerop obj)
+ `(unless (zerop ,obj)
(ff:free-fobject ,obj))
#+mcl
`(unless (ccl:%null-ptr-p ,obj)
(defmacro convert-to-foreign-string (obj)
#+lispworks
`(if (null ,obj)
- +null-cstring-pointer+
- (fli:convert-to-foreign-string ,obj))
+ +null-cstring-pointer+
+ (fli:convert-to-foreign-string ,obj :external-format '(:latin-1 :eol-style :lf)))
#+allegro
`(if (null ,obj)
0
`(if (null ,obj)
+null-cstring-pointer+
(let ((ptr (new-ptr (1+ (length ,obj)))))
- (ccl:%put-cstring ptr ,obj)
+ (ccl::%put-cstring ptr ,obj)
ptr))
)