network-info feeds socket addresses to address->network-info, but
address->network-info expects an integer:
----------------------------------------------------------------------
(define (network-info arg)
(cond ((string? arg) (name->network-info arg))
((socket-address? arg) (address->network-info arg))
(else
(error "network-info: string or socket-address expected ~s" arg))))
(define (address->network-info name)
(if (not (integer? name))
(error "address->network-info: integer expected ~s" name)
(let ((name (integer->string name))
(net (make-string 4)))
(receive (result name aliases)
(%net-address->network-info name net)
(make-network-info name
(vector->list
(C-string-vec->Scheme aliases #f))
(string->integer net))))))
|