[Mew-dist 11480] Re: (v6 8660) Re: Re: im-133

Atsushi Onoe onoe at example.com
1999年 11月 26日 (金) 10:16:21 JST


> kazu> つまり、getaddrinfo() でしょう?
> 
>   やりたいことは getaddrinfo() と等価です。しかし、getaddrinfo() を使っ
> ちゃうと、返り方が gethostbyname() と異なるので、後の処理も書き換えない
> といけないのでやだなぁというだけです。getaddrinfo() が使える Perl だけを
> 考えるなら、書き換えちゃうんですが、使えない普通の Perl でも動くようにと
> 考えると、できるだけコードは変えない方が良いのではと思ったりします。
>   Perl だと、アドレスの長さを length() で見れば IPv4 アドレスか IPv6 ア
> ドレスか判定がつくので、@he_addrs に IPv4 アドレスと IPv6 アドレスをその
> まま突っ込んじゃっても何とかなるという、単に手抜きなコードを書いてるだけ
> です。^^;
> 
> kazu> ええ、だから protocol independent なプログラミングをしましょうと言って
> kazu> います。
> 
>   同感です。:-)
>   Perl 標準で getaddrinfo() があればなぁ。

getaddrinfo() を perl で書くというのは大変なのでしょうか。
IPv6 perl なら getaddrinfo() を使い、なければ自前の getaddrinfo() を使う。
自前の getaddrinfo() は gethostbyname() を呼ぶ。

gethostbyname() 使ってる側は構わず getaddrinfo() に書き換える。
(wrapper は必要かも)

アドレスだけを見ていると scope が扱えないので、getipnodebyname() や
既に obsolete な gethostbyname2() を使っている人と同様に itojun に
怒られます:-)

尾上



Mew-dist メーリングリストの案内