X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-client-info.lisp;h=23161efed50af6af54efda09e7c60cebc36ec476;hb=fa8bab0b07d9aa9f1c546920971f41252434e285;hp=e4435083d317d54293a65aba3621921feeff2923;hpb=57620e961987757747e59eb7024b22c6d87b9c97;p=clsql.git diff --git a/db-mysql/mysql-client-info.lisp b/db-mysql/mysql-client-info.lisp index e443508..23161ef 100644 --- a/db-mysql/mysql-client-info.lisp +++ b/db-mysql/mysql-client-info.lisp @@ -23,23 +23,23 @@ (defvar *mysql-client-info* nil) (eval-when (:compile-toplevel :load-toplevel :execute) - (uffi:def-function "mysql_get_client_info" + (uffi:def-function ("mysql_get_client_info" mysql-get-client-info) () :module "mysql" :returning :cstring) (setf *mysql-client-info* (uffi:convert-from-cstring (mysql-get-client-info))) - (cond - ((eql (schar *mysql-client-info* 0) #\3) - (pushnew :mysql-client-v3 cl:*features*)) - ((eql (schar *mysql-client-info* 0) #\4) - (pushnew :mysql-client-v4 cl:*features*) - (when (and (>= (length *mysql-client-info*) 3) - (string-equal "4.1" *mysql-client-info* :end2 3)) - (pushnew :mysql-client-v4.1))) - (t - (error "Unknown mysql client version '~A'." *mysql-client-info*))) - - ) + (when (and (stringp *mysql-client-info*) + (plusp (length *mysql-client-info*))) + (cond + ((eql (schar *mysql-client-info* 0) #\3) + (pushnew :mysql-client-v3 cl:*features*)) + ((eql (schar *mysql-client-info* 0) #\4) + (pushnew :mysql-client-v4 cl:*features*) + (when (and (>= (length *mysql-client-info*) 3) + (string-equal "4.1" *mysql-client-info* :end2 3)) + (pushnew :mysql-client-v4.1 cl:*features*))) + (t + (error "Unknown mysql client version '~A'." *mysql-client-info*)))))