Feature #4084 ยป unsigned_long.diff
pack.c | ||
---|---|---|
bigendian_p = 1;
|
||
goto pack_integer;
|
||
case 'Y': /* unsigned long 64 bit (network byte-order) */
|
||
signed_p = 0;
|
||
integer_size = 8;
|
||
bigendian_p = 1;
|
||
goto pack_integer;
|
||
case 'v': /* unsigned short (VAX byte-order) */
|
||
signed_p = 0;
|
||
integer_size = 2;
|
||
... | ... | |
* | |
|
||
* n | Integer | 16-bit unsigned, network (big-endian) byte order
|
||
* N | Integer | 32-bit unsigned, network (big-endian) byte order
|
||
* Y | Integer | 64-bit unsigned, network (big-endian) byte order
|
||
* v | Integer | 16-bit unsigned, VAX (little-endian) byte order
|
||
* V | Integer | 32-bit unsigned, VAX (little-endian) byte order
|
||
* | |
|
||
... | ... | |
bigendian_p = 1;
|
||
goto unpack_integer;
|
||
case 'Y': /* unsigned long 64 bit (network byte-order) */
|
||
signed_p = 0;
|
||
integer_size = 8;
|
||
bigendian_p = 1;
|
||
goto unpack_integer;
|
||
case 'v':
|
||
signed_p = 0;
|
||
integer_size = 2;
|
test/ruby/test_array.rb | ||
---|---|---|
assert_equal(@cls[], a)
|
||
end
|
||
def test_pack_64_network
|
||
assert_equal("\x0\x0\x0\x1\x0\x0\x0\x1", [(1 << 32) + 1].pack('Y'))
|
||
end
|
||
def test_unpack_64_network
|
||
assert_equal((1 << 32) + 1, "\x0\x0\x0\x1\x0\x0\x0\x1".unpack('Y').first)
|
||
end
|
||
def test_pack
|
||
a = @cls[*%w( cat wombat x yy)]
|
||
assert_equal("catwomx yy ", a.pack("A3A3A3A3"))
|