summaryrefslogtreecommitdiff
path: root/ruby/pack.c
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@5a5092ae-2292-43ba-b2d5-dcab9c1a2731>2009-02-15 09:10:00 +0000
committerfrsyuki <frsyuki@5a5092ae-2292-43ba-b2d5-dcab9c1a2731>2009-02-15 09:10:00 +0000
commit8f3444c08141520a0977adce643ce0eb7f0324cd (patch)
tree65581e5ab02e6cb82b7ebc5fe94c0f43e750623a /ruby/pack.c
parent15837bc3322b6f2fd6191187f4754f7d65c786a4 (diff)
downloadmsgpack-python-8f3444c08141520a0977adce643ce0eb7f0324cd.tar.gz
ruby binding: fix Fixnum serialization bug on x86_64
git-svn-id: file:///Users/frsyuki/project/msgpack-git/svn/x@88 5a5092ae-2292-43ba-b2d5-dcab9c1a2731
Diffstat (limited to 'ruby/pack.c')
-rw-r--r--ruby/pack.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ruby/pack.c b/ruby/pack.c
index e62419d..5262024 100644
--- a/ruby/pack.c
+++ b/ruby/pack.c
@@ -20,7 +20,7 @@
#include <stdint.h>
#define msgpack_pack_inline_func(name) \
- static void msgpack_pack_##name
+ static inline void msgpack_pack_##name
#define msgpack_pack_user VALUE
@@ -30,6 +30,8 @@
/*
static void msgpack_pack_int(VALUE x, int d);
static void msgpack_pack_unsigned_int(VALUE x, unsigned int d);
+static void msgpack_pack_long(VALUE x, long d);
+static void msgpack_pack_unsigned_long(VALUE x, unsigned long d);
static void msgpack_pack_uint8(VALUE x, uint8_t d);
static void msgpack_pack_uint16(VALUE x, uint16_t d);
static void msgpack_pack_uint32(VALUE x, uint32_t d);
@@ -93,7 +95,7 @@ static VALUE MessagePack_FalseClass_to_msgpack(int argc, VALUE *argv, VALUE self
static VALUE MessagePack_Fixnum_to_msgpack(int argc, VALUE *argv, VALUE self)
{
ARG_BUFFER(out, argc, argv);
- msgpack_pack_int(out, FIX2INT(self));
+ msgpack_pack_long(out, FIX2LONG(self));
return out;
}