+2010-02-08 Kevin Rosenberg <kevin@rosenberg.net>
+ * Version 1.8.4
+ * sql/primitives.lisp: Improved detection for
+ availability of long-long integer for CMU.
+ (Thanks to Stelian Ionescu)
+ * sql/i18n.lisp: Changes in how ignored variables
+ are declared (Stelian Ionescu)
+
2010-02-08 Kevin Rosenberg <kevin@rosenberg.net>
* Version 1.8.3
- * sql/strings.liap: Commit patch from Stelian Ionescu
+ * sql/strings.liap: Commit patch from
with fixes for recent changes with i18n as well
as reworking how ignored variables are declared.
(defmacro string-to-octets (str &key (encoding *default-foreign-encoding*))
"Converts a Lisp string to a vector of octets."
- #-(or allegro lispworks openmcl sbcl)
- (declare (ignore encoding))
+ (declare (ignorable encoding))
#-(or allegro lispworks openmcl sbcl)
(map-into (make-array (length str) :element-type '(unsigned-byte 8))
#'char-code str)
(defmacro octets-to-string (octets &key (encoding *default-foreign-encoding*))
"Converts a vector of octets to a Lisp string."
- #-(or allegro lispworks openmcl sbcl)
- (declare (ignore encoding))
+ (declare (ignorable encoding))
#-(or allegro lispworks openmcl sbcl)
(let ((out (gensym "OUT-"))
(code (gensym "CODE-")))
(defun foreign-encoded-octet-count (str &key (encoding *default-foreign-encoding*))
"Returns the octets required to represent the string when passed to a ~
foreign function."
+ (declare (ignorable encoding))
;; AllegroCL 8-bit, CCL, and Lispworks give correct value without converting
;; to external-format. AllegroCL 16-bit, SBCL, and CLISP requires conversion
;; with external-format
#+(or (and allegro ics) (and sbcl sb-unicode) (and clisp i18n))
(length (string-to-octets str :encoding encoding))
- #-(or (and allegro ics) (and sbcl sb-unicode) (and clisp i18n))
- (declare (ignore encoding))
#-(or (and allegro ics) (and sbcl sb-unicode) (and clisp i18n))
(length str)
(:unsigned-short . c-call:unsigned-short)
(:int . alien:integer) (:unsigned-int . c-call:unsigned-int)
(:long . c-call:long) (:unsigned-long . c-call:unsigned-long)
+ #+#.(cl:if (cl:find-symbol (cl:string '#:long-long)
+ (cl:string '#:c-call))
+ '(and) '(or))
(:long-long . c-call:long-long)
+ #+#.(cl:if (cl:find-symbol (cl:string '#:unsigned-long-long)
+ (cl:string '#:c-call))
+ '(and) '(or))
(:unsigned-long-long . c-call:unsigned-long-long)
(:float . c-call:float) (:double . c-call:double)
(:array . alien:array)))