(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)