;;;; Programmers: Kevin M. Rosenberg
;;;; Date Started: Mar 2002
;;;;
-;;;; $Id: clsql-uffi.lisp,v 1.2 2002/12/13 12:21:54 kevin Exp $
+;;;; $Id: clsql-uffi.lisp,v 1.5 2003/05/06 02:22:58 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(defmacro split-64-bit-integer (int64)
`(values (ash ,int64 -32) (logand ,int64 +2^32-1+)))
+(defvar +ascii-N-value+ (char-code #\N))
+(defvar +ascii-U-value+ (char-code #\U))
+
+(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))
(let ((char (uffi:ensure-char-character
(uffi:deref-pointer char-ptr :char))))
(eql char #\N)))