summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--bignum.c6
-rw-r--r--pack.c6
3 files changed, 11 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index e6583f402e..a37d3f92e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Feb 26 20:07:48 2010 Tanaka Akira <akr@fsij.org>
+
+ * pack.c (QUAD_SIZE): it should be always 8.
+
+ * bignum.c (rb_quad_pack): use LONG_LONG version only if
+ SIZEOF_LONG_LONG == QUAD_SIZE.
+
Fri Feb 26 16:49:29 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* pack.c (swap64): fix for VC6.
diff --git a/bignum.c b/bignum.c
index 175b66395f..727122849e 100644
--- a/bignum.c
+++ b/bignum.c
@@ -304,7 +304,9 @@ rb_int2inum(SIGNED_VALUE n)
return rb_int2big(n);
}
-#if SIZEOF_BDIGITS*2 == SIZEOF_LONG_LONG
+#define QUAD_SIZE 8
+
+#if SIZEOF_LONG_LONG == QUAD_SIZE && SIZEOF_BDIGITS*2 == SIZEOF_LONG_LONG
void
rb_quad_pack(char *buf, VALUE val)
@@ -374,8 +376,6 @@ rb_quad_unpack(const char *buf, int sign)
#else
-#define QUAD_SIZE 8
-
void
rb_quad_pack(char *buf, VALUE val)
{
diff --git a/pack.c b/pack.c
index 94fa5b59a2..cfaec60354 100644
--- a/pack.c
+++ b/pack.c
@@ -266,11 +266,7 @@ num2i32(VALUE x)
return 0; /* not reached */
}
-#ifdef HAVE_LONG_LONG
-# define QUAD_SIZE SIZEOF_LONG_LONG
-#else
-# define QUAD_SIZE 8
-#endif
+#define QUAD_SIZE 8
static const char toofew[] = "too few arguments";
static void encodes(VALUE,const char*,long,int,int);