X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=uffi%2Fclsql-uffi.lisp;h=1d072edcd2bc35f1a0e279a68f3f4db7dc12c48e;hb=81d2ebcdd182dd674191b29e00274c82660fd3f3;hp=aa62e6c993c27b3181c47f89effa75847acddedc;hpb=20e845656e846b8f48c6243c9ef7211a434a034f;p=clsql.git diff --git a/uffi/clsql-uffi.lisp b/uffi/clsql-uffi.lisp index aa62e6c..1d072ed 100644 --- a/uffi/clsql-uffi.lisp +++ b/uffi/clsql-uffi.lisp @@ -7,7 +7,7 @@ ;;;; Programmers: Kevin M. Rosenberg ;;;; Date Started: Mar 2002 ;;;; -;;;; $Id: clsql-uffi.lisp,v 1.30 2003/06/08 12:48:55 kevin Exp $ +;;;; $Id: clsql-uffi.lisp,v 1.32 2003/06/23 19:25:30 kevin Exp $ ;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -87,23 +87,14 @@ (uffi:def-type char-ptr-def (* :unsigned-char)) -(defun char-ptr-points-to-null (char-ptr) - "Returns T if foreign character pointer refers to 'NULL' string. Only called for numeric entries" - ;; Uses short cut and returns T if first character is #\N. It should - ;; never be non-numeric - (declare (type char-ptr-def char-ptr)) - (char-equal #\N (uffi:ensure-char-character - (uffi:deref-pointer char-ptr :char)))) - (defun convert-raw-field (char-ptr types index) - (declare (optimize (speed 3) (safety 0) (space 0))) + (declare (optimize (speed 3) (safety 0) (space 0)) + (type char-ptr-def char-ptr)) (let ((type (if (listp types) (nth index types) types))) (cond - ((and (or (eq type :double) (eq type :int32) (eq type :int) - (eq type :int64)) - (char-ptr-points-to-null char-ptr)) + ((uffi:null-pointer-p char-ptr) nil) (t (case type