summaryrefslogtreecommitdiff
path: root/ruby.h
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-04 02:04:58 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-04 02:04:58 +0000
commitf66f36d37189e9ede1c4050537e625becad21e78 (patch)
tree73eabbd0b2711ac9911cde47c97c8c3411c23438 /ruby.h
parentcb5e639da892d78595b00998c24426ecf2670fcf (diff)
merge revision(s) 24190,24192:
* re.h (RMATCH_REGS): added for compatibility. * ruby.h (RFLOAT_VALUE, RSTRING_END, RREGEXP_SRC_*, RBIGNUM_*): backported macros for compatiblity from trunk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@24385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r--ruby.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/ruby.h b/ruby.h
index 4281ad4a0e..00dad84bb9 100644
--- a/ruby.h
+++ b/ruby.h
@@ -342,6 +342,7 @@ struct RFloat {
struct RBasic basic;
double value;
};
+#define RFLOAT_VALUE(v) (RFLOAT(v)->value)
#define ELTS_SHARED FL_USER2
@@ -356,6 +357,7 @@ struct RString {
};
#define RSTRING_PTR(s) (RSTRING(s)->ptr)
#define RSTRING_LEN(s) (RSTRING(s)->len)
+#define RSTRING_END(s) (RSTRING_PTR(s)+RSTRING_LEN(s))
struct RArray {
struct RBasic basic;
@@ -375,6 +377,8 @@ struct RRegexp {
long len;
char *str;
};
+#define RREGEXP_SRC_PTR(r) (RREGEXP(r)->src)
+#define RREGEXP_SRC_LEN(r) (RREGEXP(r)->len)
struct RHash {
struct RBasic basic;
@@ -437,6 +441,12 @@ struct RBignum {
long len;
void *digits;
};
+#define RBIGNUM_SIGN(b) (RBIGNUM(b)->sign)
+#define RBIGNUM_SET_SIGN(b,s) (RBIGNUM(b)->sign = (s))
+#define RBIGNUM_POSITIVE_P(b) RBIGNUM_SIGN(b)
+#define RBIGNUM_NEGATIVE_P(b) (!RBIGNUM_SIGN(b))
+#define RBIGNUM_LEN(b) (RBIGNUM(b)->len)
+#define RBIGNUM_DIGITS(b) (RBIGNUM(b)->digits)
#define R_CAST(st) (struct st*)
#define RBASIC(obj) (R_CAST(RBasic)(obj))