diff --git a/ChangeLog b/ChangeLog index dc804c8a50..01e113f087 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Jul 13 00:40:57 2006 Yukihiro Matsumoto + + * ruby.h (FIX2LONG): returns integer of size of VALUE. + [ruby-dev:29024] + + * ruby.h (FIX2ULONG): ditto. + Wed Jul 12 20:05:23 2006 Yukihiro Matsumoto * parse.y (f_args): allow post mandatory arguments after optional diff --git a/ruby.h b/ruby.h index 28be3d3df2..5b1964ece1 100644 --- a/ruby.h +++ b/ruby.h @@ -185,9 +185,9 @@ VALUE rb_ull2inum(unsigned LONG_LONG); # define OFFT2NUM(v) INT2NUM(v) #endif -#define FIX2LONG(x) RSHIFT((long)x,1) -#define FIX2ULONG(x) (((unsigned long)(x))>>1) -#define FIXNUM_P(f) (((long)(f))&FIXNUM_FLAG) +#define FIX2LONG(x) RSHIFT((SIGNED_VALUE)x,1) +#define FIX2ULONG(x) (((VALUE)(x))>>1) +#define FIXNUM_P(f) (((SIGNED_VALUE)(f))&FIXNUM_FLAG) #define POSFIXABLE(f) ((f) <= FIXNUM_MAX) #define NEGFIXABLE(f) ((f) >= FIXNUM_MIN) #define FIXABLE(f) (POSFIXABLE(f) && NEGFIXABLE(f))