- ,(if supportedp
- `(sb-alien:with-alien ((buffer ,buffer-type))
- (setf buffer ,(if mangle-arg
- `(,mangle-arg new-val)
- `new-val))
- (when (= -1 (sockint::setsockopt (socket-file-descriptor socket)
- ,find-level ,number
- (,mangle-setf-buffer buffer)
- ,(if (eql buffer-type 'sb-alien:c-string)
- `(length new-val)
- `(sb-alien:alien-size ,buffer-type :bytes))))
- (socket-error "setsockopt")))
- `(error 'unsupported-operator :name `(setf ,lisp-name)))))))
+ ,(if supportedp
+ `(sb-alien:with-alien ((buffer ,buffer-type))
+ (setf buffer ,(if mangle-arg
+ `(,mangle-arg new-val)
+ `new-val))
+ (when (= -1 (sockint::setsockopt (socket-file-descriptor socket)
+ ,find-level ,number
+ (,mangle-setf-buffer buffer)
+ ,(if (eql buffer-type 'sb-alien:c-string)
+ `(length new-val)
+ `(sb-alien:alien-size ,buffer-type :bytes))))
+ (socket-error "setsockopt")))
+ `(error 'unsupported-operator
+ :format-control "Socket option ~S is not supported on this platform."
+ :format-arguments (list ',lisp-name)))))))