1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

2000-06-27

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eban 2000-06-26 15:16:03 +00:00
parent 9779866676
commit 7ea888f520
3 changed files with 19 additions and 8 deletions

View file

@ -1,3 +1,9 @@
Mon Jun 26 23:41:41 2000 WATANABE Hirofumi <eban@os.rim.or.jp>
* ruby.h: add cast for ANSI style.
* gc.c (rb_data_object_alloc): use RUBY_DATA_FUNC.
Sat Jun 24 14:36:29 2000 WATANABE Hirofumi <eban@os.rim.or.jp>
* config*.dj, configure.bat, top.sed: move to djgpp/.

4
gc.c
View file

@ -299,8 +299,8 @@ VALUE
rb_data_object_alloc(klass, datap, dmark, dfree)
VALUE klass;
void *datap;
void (*dfree)();
void (*dmark)();
RUBY_DATA_FUNC dmark;
RUBY_DATA_FUNC dfree;
{
NEWOBJ(data, struct RData);
OBJSETUP(data, klass, T_DATA);

17
ruby.h
View file

@ -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) {\