[Mew-dist 11523] Re: (v6 8733) Re: Re: Re: im-133

Hajimu UMEMOTO ( 梅本 肇 ) ume at example.com
1999年 11月 29日 (月) 15:45:41 JST


  梅本@IMASYです。

>>> Mon, 29 Nov 1999 11:49:56 +0900 の刻に「onoe」、すなわち
>>> Atsushi Onoe <onoe at example.com> 氏曰く

>      return getaddrinfo(@_) if (eval '&AF_INET6');	# perl supports IPv6

onoe> これって getaddrinfo() のない perl でも compile できんのかな。

  現状の im が pack_sockaddr_in6() の有無の判定に eval '&AF_INET6' を
使ってるので、大丈夫かなと思って、そのまま踏襲したのですが、まずいです
かね?
  少なくとも、FreeBSD ではこれで判定できています。

onoe> AF_INET6 が定義されてても IPv4 perl ってこともありそうだし、
onoe> getaddrinfo() を eval してみたりするのではないの?

	return getaddrinfo(@_) if (eval '() = getaddrinfo("::1", "")';

とでもするほうが良いのかなぁ。関数を実際に実行することなく、定義されて
いるかどうかだけ判定するってことはできないものかなあ。。。
と思ったら、

	return getaddrinfo(@_) if (defined &getaddrinfo);

で判定できますね。

--
梅本 肇 @ インターネット互助会横浜  http://www.imasy.org/~ume/
ume at example.com  ume at example.com  ume at example.com
プログラムは書いた人の意図ではなく書かれた通り動く



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