From: WATANABE Hirofumi Date: 2000-06-27T00:13:06+09:00 Subject: [ruby-list:23524] Re: Dimension of array わたなべです. "Nobuyoshi.Nakada" writes: : なんかもったいないのでパッチ。 この中身見てて思ったんですけど, 最近 ANSI スタイルで書かれた拡 張ライブラリやアプリケーションが増えてますよね. mod_ruby, eruby, ruby-zlib, bdb, ... ruby 本体と同じく古い K&R1 のころのスタイルで書いてねという のは, いまや無理があるのかなあ. Data_Wrap_Struct は cast してしまうのがいいのかも. と思ったら #define RUBY_DATA_FUNC(func) ((void (*)_((void*)))func) なんてのが最近つけ加わってるし. でも typedef void (*RUBY_DATA_FUNC) _((void*)); として (RUBY_DATA_FUNC) で cast したほうがまだましかな. こんな感じで. #define Data_Wrap_Struct(klass,mark,free,sval) (\ rb_data_object_alloc(klass,sval,(RUBY_DATA_FUNC)mark,(RUBY_DATA_FUNC)free)\ ) #define Data_Make_Struct(klass,type,mark,free,sval) (\ sval = ALLOC(type),\ memset(sval, 0, sizeof(type)),\ Data_Wrap_Struct(klass,mark,free,sval)\ ) これで checkin してみます(1.5.4 のほう). -- わたなべひろふみ