diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-21 14:12:57 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-21 14:12:57 +0000 |
commit | e852838cee777cfc9c6e3f8f16142d4809422179 (patch) | |
tree | e66f9be3d0ca74af6e7bda8678f38cb3840b3acc | |
parent | 3fed8bc9a5c924c43aef32098ebd201d0ab6af76 (diff) |
* ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):
CPtr -> Pointer.
* test/fiddle/test_c_struct_entry.rb
(Fiddle::TestCStructEntity#test_aref_pointer_array):
Added the test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/fiddle/lib/fiddle/struct.rb | 2 | ||||
-rw-r--r-- | test/fiddle/test_c_struct_entry.rb | 11 |
3 files changed, 20 insertions, 1 deletions
@@ -1,3 +1,11 @@ +Fri Dec 21 23:12:05 2012 Kouhei Sutou <kou@cozmixng.org> + + * ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes): + CPtr -> Pointer. + * test/fiddle/test_c_struct_entry.rb + (Fiddle::TestCStructEntity#test_aref_pointer_array): + Added the test for the above. + Fri Dec 21 22:43:36 2012 Kouhei Sutou <kou@cozmixng.org> * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): diff --git a/ext/fiddle/lib/fiddle/struct.rb b/ext/fiddle/lib/fiddle/struct.rb index 5a70699bf3..ef53522592 100644 --- a/ext/fiddle/lib/fiddle/struct.rb +++ b/ext/fiddle/lib/fiddle/struct.rb @@ -165,7 +165,7 @@ module Fiddle when Array case ty[0] when TYPE_VOIDP - val = val.collect{|v| CPtr.new(v)} + val = val.collect{|v| Pointer.new(v)} end when TYPE_VOIDP val = CPtr.new(val[0]) diff --git a/test/fiddle/test_c_struct_entry.rb b/test/fiddle/test_c_struct_entry.rb index 43cf28e493..3a5faefabc 100644 --- a/test/fiddle/test_c_struct_entry.rb +++ b/test/fiddle/test_c_struct_entry.rb @@ -50,5 +50,16 @@ module Fiddle assert_equal 1, union['long'] assert_equal 2, union['int'] end + + def test_aref_pointer_array + team = CStructEntity.malloc([[TYPE_VOIDP, 2]]) + team.assign_names(["names"]) + alice = Fiddle::Pointer.malloc(6) + alice[0, 6] = "Alice\0" + bob = Fiddle::Pointer.malloc(4) + bob[0, 4] = "Bob\0" + team["names"] = [alice, bob] + assert_equal(["Alice", "Bob"], team["names"].map(&:to_s)) + end end end |