summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--memory_view.c4
-rw-r--r--test/ruby/test_memory_view.rb8
2 files changed, 8 insertions, 4 deletions
diff --git a/memory_view.c b/memory_view.c
index 4a4245abbf..8b2a2c051d 100644
--- a/memory_view.c
+++ b/memory_view.c
@@ -473,10 +473,14 @@ rb_memory_view_parse_item_format(const char *format,
switch (type_char) {
case 'e':
case 'E':
+ case 'v':
+ case 'V':
little_endian_p = true;
break;
case 'g':
case 'G':
+ case 'n':
+ case 'N':
little_endian_p = false;
break;
default:
diff --git a/test/ruby/test_memory_view.rb b/test/ruby/test_memory_view.rb
index 2432f713d1..baf544c227 100644
--- a/test/ruby/test_memory_view.rb
+++ b/test/ruby/test_memory_view.rb
@@ -93,8 +93,8 @@ class TestMemoryView < Test::Unit::TestCase
["S", false, NATIVE_ENDIAN, SHORT_ALIGNMENT, sizeof(:short), 1],
["s!", true, NATIVE_ENDIAN, SHORT_ALIGNMENT, sizeof(:short), 1],
["S!", true, NATIVE_ENDIAN, SHORT_ALIGNMENT, sizeof(:short), 1],
- ["n", false, NATIVE_ENDIAN, INT16_ALIGNMENT, sizeof(:int16_t), 1],
- ["v", false, NATIVE_ENDIAN, INT16_ALIGNMENT, sizeof(:int16_t), 1],
+ ["n", false, :big_endian, INT16_ALIGNMENT, sizeof(:int16_t), 1],
+ ["v", false, :little_endian, INT16_ALIGNMENT, sizeof(:int16_t), 1],
["i", false, NATIVE_ENDIAN, INT_ALIGNMENT, sizeof(:int), 1],
["I", false, NATIVE_ENDIAN, INT_ALIGNMENT, sizeof(:int), 1],
["i!", true, NATIVE_ENDIAN, INT_ALIGNMENT, sizeof(:int), 1],
@@ -103,8 +103,8 @@ class TestMemoryView < Test::Unit::TestCase
["L", false, NATIVE_ENDIAN, INT32_ALIGNMENT, sizeof(:int32_t), 1],
["l!", true, NATIVE_ENDIAN, LONG_ALIGNMENT, sizeof(:long), 1],
["L!", true, NATIVE_ENDIAN, LONG_ALIGNMENT, sizeof(:long), 1],
- ["N", false, NATIVE_ENDIAN, INT32_ALIGNMENT, sizeof(:int32_t), 1],
- ["V", false, NATIVE_ENDIAN, INT32_ALIGNMENT, sizeof(:int32_t), 1],
+ ["N", false, :big_endian, INT32_ALIGNMENT, sizeof(:int32_t), 1],
+ ["V", false, :little_endian, INT32_ALIGNMENT, sizeof(:int32_t), 1],
["f", false, NATIVE_ENDIAN, FLOAT_ALIGNMENT, sizeof(:float), 1],
["e", false, :little_endian, FLOAT_ALIGNMENT, sizeof(:float), 1],
["g", false, :big_endian, FLOAT_ALIGNMENT, sizeof(:float), 1],