Project

General

Profile

Actions

Bug #3948

closed

Unexpected RangeErorr of pack and unpack with specified byte-order modifier

Added by phasis68 (Heesob Park) about 14 years ago. Updated over 13 years ago.

Status:
Closed
Assignee:
-
Target version:
ruby -v:
ruby 1.9.3dev (2010-10-14 trunk 29498) [i386-mswin32_90]
Backport:
[ruby-core:32793]

Description

=begin
After applying Revision 29496, I can use < > modifier for pack and unpack.
But it fails to work when the modifier occurs more than once.

C:>ruby -e 'p "1234".unpack("SS")'
[12849, 13363]

C:>ruby -e 'p "1234".unpack("SS>")'
[12849, 13108]

C:>ruby -e 'p "1234".unpack("S>S")'
[12594, 13108]

C:>ruby -e 'p "1234".unpack("S>S>")'
-e:1:in unpack': Can't use both '<' and '>' (RangeError) from -e:1:in '

C:>ruby -e 'p "1234".unpack("S<S<")'
-e:1:in unpack': Can't use both '<' and '>' (RangeError) from -e:1:in '

C:>ruby -e 'p "1234".unpack("S")'
-e:1:in unpack': Can't use both '<' and '>' (RangeError) from -e:1:in '

C:>ruby -e 'p [1234,5678].pack("SS")'
"\xD2\x04.\x16"

C:>ruby -e 'p [1234,5678].pack("SS>")'
"\xD2\x04\x16."

C:>ruby -e 'p [1234,5678].pack("S>S")'
"\x04\xD2\x16."

C:>ruby -e 'p [1234,5678].pack("S<S")'
"\xD2\x04.\x16"

C:>ruby -e 'p [1234,5678].pack("S>S>")'
-e:1:in pack': Can't use both '<' and '>' (RangeError) from -e:1:in '

C:>ruby -e 'p [1234,5678].pack("S<S<")'
-e:1:in pack': Can't use both '<' and '>' (RangeError) from -e:1:in '

C:>ruby -e 'p [1234,5678].pack("S")'
-e:1:in pack': Can't use both '<' and '>' (RangeError) from -e:1:in '
=end

Actions

Also available in: Atom PDF

Like0
Like0