[usocket-cvs] r391 - usocket/trunk

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Sun Jul 27 16:24:50 UTC 2008


Author: ehuelsmann
Date: Sun Jul 27 12:24:48 2008
New Revision: 391

Modified:
   usocket/trunk/usocket.lisp
Log:
SBCL bug with HOST-TO-HBO.

Found by: Chun Tian (binge.lisp at gmail.com)


Modified: usocket/trunk/usocket.lisp
==============================================================================
--- usocket/trunk/usocket.lisp	(original)
+++ usocket/trunk/usocket.lisp	Sun Jul 27 12:24:48 2008
@@ -403,17 +403,21 @@
   "Translate a string or vector quad to a stringified hostname."
   (etypecase host
     (string host)
-    ((vector t 4) (vector-quad-to-dotted-quad host))
+    ((or (vector t 4)
+         (array (unsigned-byte 8) (4)))
+     (vector-quad-to-dotted-quad host))
     (integer (hbo-to-dotted-quad host))))
 
 (defun ip= (ip1 ip2)
   (etypecase ip1
     (string (string= ip1 (host-to-hostname ip2)))
-    ((vector t 4) (or (eq ip1 ip2)
-                      (and (= (aref ip1 0) (aref ip2 0))
-                           (= (aref ip1 1) (aref ip2 1))
-                           (= (aref ip1 2) (aref ip2 2))
-                           (= (aref ip1 3) (aref ip2 3)))))
+    ((or (vector t 4)
+         (array (unsigned-byte 8) (4)))
+     (or (eq ip1 ip2)
+         (and (= (aref ip1 0) (aref ip2 0))
+              (= (aref ip1 1) (aref ip2 1))
+              (= (aref ip1 2) (aref ip2 2))
+              (= (aref ip1 3) (aref ip2 3)))))
     (integer (= ip1 (host-byte-order ip2)))))
 
 (defun ip/= (ip1 ip2)
@@ -444,7 +448,9 @@
                     ;; valid IP dotted quad?
                     ip
                   (get-random-host-by-name host))))
-      ((vector t 4) host)
+      ((or (vector t 4)
+           (array (unsigned-byte 8) (4)))
+       host)
       (integer (hbo-to-vector-quad host))))
 
   (defun host-to-hbo (host)
@@ -454,10 +460,12 @@
                 (if (and ip (= 4 (length ip)))
                     (host-byte-order ip)
             (host-to-hbo (get-host-by-name host)))))
-      ((vector t 4) (host-byte-order host))
+      ((or (vector t 4)
+           (array (unsigned-byte 8) (4)))
+       (host-byte-order host))
       (integer host))))
 
-;;ready-
+;;
 ;; Other utility functions
 ;;
 



More information about the usocket-cvs mailing list