anchor.diff:                 (send-raw-line conn command)
                  data-socket)))
             (t
  -           (let ((server-socket (socket-listen *wildcard-host* port
  -                                               :element-type (ecase type
  -                                                               ((:binary :image)
  -                                                                '(unsigned-byte 8))
  -                                                               (:ascii 'character)))))
  +           (let ((server-socket (setup-port conn :element-type (ecase type
  +                                                                 ((:binary :image)
  +                                                                  '(unsigned-byte 8))
  +                                                                 (:ascii 'character)))))
                (unwind-protect
                     (progn
                       (when (and rest (integerp rest))
  
positive.code:                     (expect-code-or-lose conn 200)
                      (send-raw-line conn command)
                      (socket-accept server-socket))
                 (close (socket-stream server-socket))))))))
  
  (defgeneric flush-response (conn))
  
  
negative.code: (defmethod setup-port ((conn ftp-connection) &key (element-type '(unsigned-byte 8)))
    (with-ftp-connection-slots (conn)
      (let ((server-socket
              (socket-listen *wildcard-host* *auto-port* :element-type element-type))
            (local-ip (vector-quad-to-dotted-quad (get-local-name socket))))
        (send-port-command conn local-ip (get-local-port server-socket))
        server-socket)))
  
  