r10174: fix dotted-to-ipaddr
[kmrcl.git] / sockets.lisp
index 5bcc7cbf9bcfff6ad32236d3cf78bb7371daf0f9..cbadc07c608c70f377e1b28cddeab97552e5b72e 100644 (file)
@@ -117,7 +117,6 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
 (defun close-active-socket (socket)
   (close socket))
 
-#+sbcl
 (defun ipaddr-to-dotted (ipaddr &key values)
   "Convert from 32-bit integer to dotted string."
   (declare (type (unsigned-byte 32) ipaddr))
@@ -129,18 +128,21 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
        (values a b c d)
       (format nil "~d.~d.~d.~d" a b c d))))
 
-#+sbcl
 (defun dotted-to-ipaddr (dotted &key (errorp t))
   "Convert from dotted string to 32-bit integer."
   (declare (string dotted))
   (if errorp
       (let ((ll (delimited-string-to-list dotted #\.)))
-       (+ (ash (first ll) 24) (ash (second ll) 16)
-          (ash (third ll) 8) (fourth ll)))
+       (+ (ash (parse-integer (first ll)) 24) 
+          (ash (parse-integer (second ll)) 16)
+          (ash (parse-integer (third ll)) 8) 
+          (parse-integer (fourth ll))))
     (ignore-errors
       (let ((ll (delimited-string-to-list dotted #\.)))
-       (+ (ash (first ll) 24) (ash (second ll) 16)
-          (ash (third ll) 8) (fourth ll))))))
+       (+ (ash (parse-integer (first ll)) 24)
+          (ash (parse-integer (second ll)) 16)
+          (ash (parse-integer (third ll)) 8) 
+          (parse-integer (fourth ll)))))))
 
 #+sbcl
 (defun ipaddr-to-hostname (ipaddr &key ignore-cache)
@@ -179,12 +181,12 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
       sock :input t :output t :element-type 'base-char)
      sock))
   #+cmu
-  (let ((sock (ext:connect-to-inet-socket host port)))
+  (let ((sock (ext:connect-to-inet-socket server port)))
     (values
      (sys:make-fd-stream sock :input t :output t :element-type 'base-char)
      sock))
   #+openmcl
-  (let ((sock (ccl:make-socket :remote-host host :remote-port port )))
+  (let ((sock (ccl:make-socket :remote-host server :remote-port port )))
     (values sock sock))
   )