From: matz@... (Yukihiro Matsumoto) Date: 1999-05-21T13:03:55+09:00 Subject: [ruby-dev:6944] Re: ext/socket/getaddrinfo.c tiny fix まつもと ゆきひろです In message "[ruby-dev:6933] Re: ext/socket/getaddrinfo.c tiny fix" on 99/05/21, itojun@iijlab.net writes: |>このss_familyとss_lenの#defineは、extconf.rbの、 |> $CFLAGS = "-Dss_family=__ss_family -Dss_len=__ss_len" |>と衝突しますよね。 |>extconf.rbかsocket.cかどちらかに定義を統一した方がいいと思います。 | | もともとは、addrconf.hに | |struct sockaddr_storage { | u_int8_t __ss_len; | u_int8_t __ss_family; | u_int8_t __ss_body[126]; |}; | | という定義をいれてあったので、これなら衝突しないんですが。 | もちろん、sys/socket.hで既に定義されているかどうかのチェックは | 必要です。 そうですね.これを削除しちゃったのは理由があって * sys/socket.hでの既定義のチェックがやや面倒だった * u_int8_tの定義がないプラットフォームがある * sockaddrの先頭にlenがないプラットフォームで動かなかった というものです.特に私のv4マシンでうまくコンパイルできなかっ たものですから.もうちょっと別の手があったかも知れませんね. まつもと ゆきひろ /:|}