From 7ea888f520b632a2ecf2d9a184a5871546820720 Mon Sep 17 00:00:00 2001 From: eban Date: Mon, 26 Jun 2000 15:16:03 +0000 Subject: 2000-06-27 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'ruby.h') diff --git a/ruby.h b/ruby.h index 40d128086e..8751cc1a70 100644 --- a/ruby.h +++ b/ruby.h @@ -290,16 +290,21 @@ struct RData { #define DATA_PTR(dta) (RDATA(dta)->data) +/* #define RUBY_DATA_FUNC(func) ((void (*)_((void*)))func) -VALUE rb_data_object_alloc _((VALUE,void*,void (*) _((void*)),void (*) _((void*)))); +*/ +typedef void (*RUBY_DATA_FUNC) _((void*)); + +VALUE rb_data_object_alloc _((VALUE,void*,RUBY_DATA_FUNC,RUBY_DATA_FUNC)); + +#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)),\ - rb_data_object_alloc(klass,sval,mark,free)\ -) - -#define Data_Wrap_Struct(klass,mark,free,sval) (\ - rb_data_object_alloc(klass,sval,mark,free)\ + Data_Wrap_Struct(klass,mark,free,sval)\ ) #define Data_Get_Struct(obj,type,sval) {\ -- cgit v1.2.3