From: "U.Nakamura" Date: 2006-07-11T06:33:49+09:00 Subject: [ruby-dev:29012] Re: size of st_data_t こんにちは、なかむら(う)です。 In message "[ruby-dev:28993] Re: size of st_data_t" on Jul.10,2006 08:20:20, wrote: | そうなんですよ。とはいえ、問題の重要さを考えると少なくとも | config.hには頼らざるをえない気がします。 というわけで、入ったので試してみたところ、config.hだけでは足 りてませんでした。 LONG_LONGの定義があるのはdefines.hなので、st.cではdefines.hも 必要になります。うーん。 あと、intern.hにあるst_foreach_safeの宣言がhash.cにある定義と 食い違うことになるので、これまた対処が必要になります。 というわけで、パッチなんですが、これでいいものやら。 Index: intern.h =================================================================== RCS file: /home/cvs/ruby/intern.h,v retrieving revision 1.195 diff -u -1 -p -r1.195 intern.h --- intern.h 9 Jun 2006 21:20:12 -0000 1.195 +++ intern.h 10 Jul 2006 21:30:32 -0000 @@ -22,2 +22,3 @@ #endif +#include @@ -316,3 +317,3 @@ VALUE rb_gc_start(void); /* hash.c */ -void st_foreach_safe(struct st_table *, int (*)(ANYARGS), unsigned long); +void st_foreach_safe(struct st_table *, int (*)(ANYARGS), st_data_t); void rb_hash_foreach(VALUE, int (*)(ANYARGS), VALUE); Index: st.c =================================================================== RCS file: /home/cvs/ruby/st.c,v retrieving revision 1.41 diff -u -1 -p -r1.41 st.c --- st.c 3 Jul 2006 20:07:09 -0000 1.41 +++ st.c 10 Jul 2006 21:30:32 -0000 @@ -14,2 +14,3 @@ #endif +#include "defines.h" それでは。 -- U.Nakamura