From: Katsuyuki Komatsu Date: 1999-05-17T10:06:33+09:00 Subject: [ruby-dev:6823] Re: Ruby 1.3.3-990513 小松です。 In the message of [ruby-dev:6819] Re: Ruby 1.3.3-990513 on 1999/5/15 17:20:13 WATANABE Hirofumi wrote: |ふつうは にあるみたいですね. |#define offsetof(type, member) ((size_t)&(((type *)0)->member)) SunOS 4.1.4の/usr/include/stddef.hには定義がないですが、 gccインストール時にfixincludesによってoffsetofが定義された、 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1.4/2.8.1/include/stddef.h が作られてgccはそちらを使います。 [ruby-dev:6790]のパッチではいれませんでしたが、コンパイル時に使った ext/socket/addrinfo.hの変更で済ませていいような気がしてきました。 # TYPE, MEMBERとなっているのはgccの作ったstddef.hから取ってきた # ためです。 --- ruby-1.3.3-990513.orig/ext/socket/addrinfo.h Thu May 13 12:44:18 1999 +++ ruby-1.3.3-990513/ext/socket/addrinfo.h Fri May 13 22:30:26 1999 @@ -75,2 +75,6 @@ +#ifndef offsetof +# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) +#endif + /* special compatibility hack -- end*/ -- 小松克行 / Katsuyuki Komatsu