From d1b83a59efaea9d66be7bb78e5f413305c811177 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 18 Jul 2009 03:06:02 +0000 Subject: * 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@24192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ruby.h') diff --git a/ruby.h b/ruby.h index c13da1dfd1..8e19cb6fa1 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)) -- cgit v1.2.3