aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ruby.h6
2 files changed, 10 insertions, 3 deletions
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 <matz@ruby-lang.org>
+
+ * 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 <matz@ruby-lang.org>
* 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))