summaryrefslogtreecommitdiff
path: root/ruby.h
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-11 06:47:09 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-11 06:47:09 +0000
commit1db0db3ba0b90787e9db8c2dc72bfed879d5ee20 (patch)
treea0b9f5b623b16f9436f0a687782c2480b32e93ce /ruby.h
parent4bacdc1e46ab788f9285ccd8eccd2776260f9528 (diff)
* bignum.c (rb_int2big): use SIGNED_VALUE. [ruby-dev:29019]
* bignum.c (rb_int2inum, rb_uint2inum): use VALUE sized integer. * bignum.c (rb_big2long, rb_big2ulong): ditto. * numeric.c (rb_num2long, rb_num2ulong): ditto. * numeric.c (check_int, check_uint): ditto. * bignum.c (rb_quad_pack): typo fixed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r--ruby.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/ruby.h b/ruby.h
index 3f773ed82b..b0a0e3e7b9 100644
--- a/ruby.h
+++ b/ruby.h
@@ -94,15 +94,18 @@ extern "C" {
typedef unsigned long VALUE;
typedef unsigned long ID;
# define SIGNED_VALUE long
+# define SIZEOF_VALUE SIZEOF_LONG
#elif SIZEOF_LONG_LONG == SIZEOF_VOIDP
typedef unsigned LONG_LONG VALUE;
typedef unsigned LONG_LONG ID;
# define SIGNED_VALUE LONG_LONG
# define LONG_LONG_VALUE 1
+# define SIZEOF_VALUE SIZEOF_LONG_LONG
#else
# error ---->> ruby requires sizeof(void*) == sizeof(long) to be compiled. <<----
#endif
+
#ifdef __STDC__
# include <limits.h>
#else
@@ -273,8 +276,8 @@ RUBY_EXTERN int ruby_safe_level;
void rb_set_safe_level(int);
void rb_secure_update(VALUE);
-long rb_num2long(VALUE);
-unsigned long rb_num2ulong(VALUE);
+SIGNED_VALUE rb_num2long(VALUE);
+VALUE rb_num2ulong(VALUE);
#define NUM2LONG(x) (FIXNUM_P(x)?FIX2LONG(x):rb_num2long((VALUE)x))
#define NUM2ULONG(x) rb_num2ulong((VALUE)x)
#if SIZEOF_INT < SIZEOF_LONG
@@ -336,7 +339,7 @@ VALUE rb_newobj(void);
} while (0)
struct RBasic {
- unsigned long flags;
+ VALUE flags;
VALUE klass;
};