Author: ctian Date: Tue Oct 28 12:00:38 2008 New Revision: 469
Log: bugfix: ETYPECASE in HANDLE-CONDITION (SCL) should be TYPECASE, Call HOST-TO-HBO should detect NULL first.
Modified: usocket/trunk/backend/cmucl.lisp usocket/trunk/backend/scl.lisp
Modified: usocket/trunk/backend/cmucl.lisp ============================================================================== --- usocket/trunk/backend/cmucl.lisp (original) +++ usocket/trunk/backend/cmucl.lisp Tue Oct 28 12:00:38 2008 @@ -69,7 +69,9 @@ (setf socket (let ((args (list (host-to-hbo host) port :stream))) (when (and local-bind-p (or local-host-p local-port-p)) - (nconc args (list :local-host local-host :local-port local-port))) + (nconc args (list :local-host (when local-host + (host-to-hbo local-host)) + :local-port local-port))) (with-mapped-conditions (socket) (apply #'ext:connect-to-inet-socket args)))) (if socket
Modified: usocket/trunk/backend/scl.lisp ============================================================================== --- usocket/trunk/backend/scl.lisp (original) +++ usocket/trunk/backend/scl.lisp Tue Oct 28 12:00:38 2008 @@ -22,11 +22,11 @@
(defun handle-condition (condition &optional (socket nil)) "Dispatch correct usocket condition." - (etypecase condition + (typecase condition (ext::socket-error (scl-map-socket-error (ext::socket-errno condition) - :socket socket - :condition condition)))) + :socket socket + :condition condition))))
(defun socket-connect (host port &key (element-type 'character) timeout deadline (nodelay t nodelay-specified) @@ -45,7 +45,8 @@
(let* ((socket (let ((args (list (host-to-hbo host) port :kind :stream))) (when (and patch-udp-p (or local-host-p local-port-p)) - (nconc args (list :local-host (host-to-hbo local-host) + (nconc args (list :local-host (when local-host + (host-to-hbo local-host)) :local-port local-port))) (with-mapped-conditions () (apply #'ext:connect-to-inet-socket args))))