Bug #3948
closedUnexpected RangeErorr of pack and unpack with specified byte-order modifier
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