r9179: 30 Apr 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
[clsql.git] / db-mysql / mysql-client-info.lisp
index e4435083d317d54293a65aba3621921feeff2923..75abdd075b36c69d5439f5da6af4bc272616306a 100644 (file)
 
   (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*)))))