diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-22 10:07:53 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-22 10:07:53 +0000 |
commit | 2f99f3b41a4ad5a4efafb0b71784bd05b99d9bba (patch) | |
tree | ec57ed897c38dd660b816f97d30bd762e5fedf44 | |
parent | 7a249d7acca6f78607e45282e2a0d9be03b9acfb (diff) |
use STR2CSTR
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@46 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | object.c | 9 | ||||
-rw-r--r-- | ruby.h | 3 |
3 files changed, 14 insertions, 0 deletions
@@ -1,5 +1,7 @@ Thu Jan 22 00:37:47 1998 Yukihiro Matsumoto <matz@netlab.co.jp> + * ruby.h (STR2CSTR): new macro to retrieve char*. + * class.c (rb_define_method): `initialize' should always be private, even if it defined by C extensions. @@ -721,6 +721,15 @@ f_string(obj, arg) return rb_funcall(arg, rb_intern("to_s"), 0); } +char* +str2cstr(str) + VALUE str; +{ + if (NIL_P(str)) return NULL; + Check_Type(str, T_STRING); + return RSTRING(str)->ptr; +} + VALUE rb_String(val) VALUE val; @@ -165,6 +165,9 @@ int num2int _((VALUE)); double num2dbl _((VALUE)); #define NUM2DBL(x) num2dbl((VALUE)(x)) +char *str2cstr _((VALUE)); +#define STR2CSTR(x) str2cstr((VALUE)(x)) + VALUE rb_newobj _((void)); #define NEWOBJ(obj,type) type *obj = (type*)rb_newobj() #define OBJSETUP(obj,c,t) {\ |