diff options
author | nari <nari@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-20 06:57:51 +0000 |
---|---|---|
committer | nari <nari@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-20 06:57:51 +0000 |
commit | c3a46d6acab5ab063cc6b5808c2b344f110bef12 (patch) | |
tree | 60d786cb4c890e97fb4c314476dd21d0f0ae451d /ext/socket | |
parent | f1e488e5241f52765550a7e5e20d1d7509da5b32 (diff) |
* include/ruby/ruby.h: add C APIs.
VALUE rb_newobj_of(VALUE klass, VALUE flags)
#define NEWOBJ_OF(obj,type,klass,flags)
These allow to change a allocation strategy depending on klass
or flags.
* gc.c: ditto
* array.c: use new C API.
* bignum.c: ditto
* class.c: ditto
* complex.c: ditto
* ext/socket/ancdata.c: ditto
* ext/socket/option.c: ditto
* hash.c: ditto
* io.c: ditto
* marshal.c: ditto
* numeric.c: ditto
* object.c: ditto
* random.c: ditto
* range.c: ditto
* rational.c: ditto
* re.c: ditto
* string.c: ditto
* struct.c: ditto
[Feature #7177][Feature #7047]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket')
-rw-r--r-- | ext/socket/ancdata.c | 3 | ||||
-rw-r--r-- | ext/socket/option.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c index 9344252864..4ba339a83d 100644 --- a/ext/socket/ancdata.c +++ b/ext/socket/ancdata.c @@ -86,8 +86,7 @@ ancillary_initialize(VALUE self, VALUE vfamily, VALUE vlevel, VALUE vtype, VALUE static VALUE ancdata_new(int family, int level, int type, VALUE data) { - NEWOBJ(obj, struct RObject); - OBJSETUP(obj, rb_cAncillaryData, T_OBJECT); + NEWOBJ_OF(obj, struct RObject, rb_cAncillaryData, T_OBJECT); StringValue(data); ancillary_initialize((VALUE)obj, INT2NUM(family), INT2NUM(level), INT2NUM(type), data); return (VALUE)obj; diff --git a/ext/socket/option.c b/ext/socket/option.c index 4e5f6c2c78..e3e59cf0c5 100644 --- a/ext/socket/option.c +++ b/ext/socket/option.c @@ -61,8 +61,7 @@ sockopt_initialize(VALUE self, VALUE vfamily, VALUE vlevel, VALUE voptname, VALU VALUE rsock_sockopt_new(int family, int level, int optname, VALUE data) { - NEWOBJ(obj, struct RObject); - OBJSETUP(obj, rb_cSockOpt, T_OBJECT); + NEWOBJ_OF(obj, struct RObject, rb_cSockOpt, T_OBJECT); StringValue(data); sockopt_initialize((VALUE)obj, INT2NUM(family), INT2NUM(level), INT2NUM(optname), data); return (VALUE)obj; |