chiark / gitweb /
net.lisp, zone.lisp: Support for IPv6 addresses.
[zone] / net.lisp
index c8852f9a5b5859a0cd08780856b5a9a76113a0cf..7cd7e6d5326bbe1b26ed32e93e2f5b5cf90db1bd 100644 (file)
--- a/net.lisp
+++ b/net.lisp
@@ -156,8 +156,8 @@ (defgeneric ipaddr-comparable-p (addr-a addr-b)
     (eq (class-of addr-a) (class-of addr-b))))
 
 (defun guess-address-class (str &key (start 0) (end nil))
-  (declare (ignore str start end))
-  'ip4addr)
+  (cond ((position #\: str :start start :end end) 'ip6addr)
+       (t 'ip4addr)))
 
 (defgeneric parse-partial-ipaddr (class str &key start end min max)
   (:method ((object t) str &rest keywords)