diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-17 11:36:54 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-17 11:36:54 +0000 |
commit | 871c83dddf8132d2668249cc0917320bb86712fd (patch) | |
tree | 4c2c245fbe88666bf25ac2ba0e2ec0c9cbc780b9 | |
parent | fae330b3b90572ef55f6ffd9b67c2c6fa7f5f526 (diff) | |
download | ruby-871c83dddf8132d2668249cc0917320bb86712fd.tar.gz |
* pack.c (pack_pack): fix i! with big endian. [1].pack("i!") was
"\0\0\0\0".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | pack.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Thu Jul 17 20:35:03 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * pack.c (pack_pack): fix i! with big endian. [1].pack("i!") was + "\0\0\0\0". + Thu Jul 17 16:48:40 2008 NAKAMURA Usaku <usa@ruby-lang.org> * ext/socket/socket.c (ruby_connect): select() for connect() has @@ -691,11 +691,11 @@ pack_pack(VALUE ary, VALUE fmt) case 'i': /* signed int */ case 'I': /* unsigned int */ while (len-- > 0) { - long i; + int i; from = NEXTFROM; i = num2i32(from); - rb_str_buf_cat(res, OFF32(&i), NATINT_LEN(int,4)); + rb_str_buf_cat(res, (char*)&i, sizeof(int)); } break; |