- (unwind-protect
- (sb-alien:with-alien ((sa-len sockint::socklen-t (size-of-sockaddr socket)))
- (let ((len
- (sockint::recvfrom (socket-file-descriptor socket)
- copy-buffer
- length
- flags
- sockaddr
- (sb-alien:addr sa-len))))
- (cond
- ((and (= len -1) (= sockint::EAGAIN (sb-unix::get-errno))) nil)
- ((= len -1) (socket-error "recvfrom"))
- (t (loop for i from 0 below len
- do (setf (elt buffer i)
- (cond
- ((or (eql element-type 'character) (eql element-type 'base-char))
- (code-char (sb-alien:deref (sb-alien:deref copy-buffer) i)))
- (t (sb-alien:deref (sb-alien:deref copy-buffer) i)))))
- (apply #'values buffer len (multiple-value-list
- (bits-of-sockaddr socket sockaddr)))))))
- (sb-alien:free-alien copy-buffer))))))
-
-
+ (unwind-protect
+ (sb-alien:with-alien ((sa-len sockint::socklen-t (size-of-sockaddr socket)))
+ (let ((len
+ (sockint::recvfrom (socket-file-descriptor socket)
+ copy-buffer
+ length
+ flags
+ sockaddr
+ (sb-alien:addr sa-len))))
+ (cond
+ ((and (= len -1) (= sockint::EAGAIN (sb-unix::get-errno))) nil)
+ ((= len -1) (socket-error "recvfrom"))
+ (t (loop for i from 0 below len
+ do (setf (elt buffer i)
+ (cond
+ ((or (eql element-type 'character) (eql element-type 'base-char))
+ (code-char (sb-alien:deref (sb-alien:deref copy-buffer) i)))
+ (t (sb-alien:deref (sb-alien:deref copy-buffer) i)))))
+ (apply #'values buffer len (multiple-value-list
+ (bits-of-sockaddr socket sockaddr)))))))
+ (sb-alien:free-alien copy-buffer))))))