From 065b6d2b7ca234d9e45493e11a96d6d0c06bfc29 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 15 Sep 2014 00:43:14 +0000 Subject: fiddle/import.rb: fix typo * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo, SIZEOF_LONG_LON. [Fix GH-714] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/fiddle/lib/fiddle/import.rb | 2 +- test/fiddle/test_import.rb | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 92ae73671b..599a55f88b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Sep 15 09:43:18 2014 Sho Hashimoto + + * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo, + SIZEOF_LONG_LON. [Fix GH-714] + Mon Sep 15 08:13:40 2014 Matthew Draper * sprintf.c (rb_str_format): rational 'f' format works for more diff --git a/ext/fiddle/lib/fiddle/import.rb b/ext/fiddle/lib/fiddle/import.rb index f1aa712f2e..34f5d7f81c 100644 --- a/ext/fiddle/lib/fiddle/import.rb +++ b/ext/fiddle/lib/fiddle/import.rb @@ -112,7 +112,7 @@ module Fiddle when TYPE_LONG return SIZEOF_LONG when TYPE_LONG_LONG - return SIZEOF_LONG_LON + return SIZEOF_LONG_LONG when TYPE_FLOAT return SIZEOF_FLOAT when TYPE_DOUBLE diff --git a/test/fiddle/test_import.rb b/test/fiddle/test_import.rb index 62985cfcd3..d06477bfa5 100644 --- a/test/fiddle/test_import.rb +++ b/test/fiddle/test_import.rb @@ -65,6 +65,15 @@ module Fiddle assert_equal(LIBC::MyStruct.size(), LIBC.sizeof(LIBC::MyStruct.malloc())) end + Fiddle.constants.grep(/\ATYPE_(?!VOID\z)(.*)/) do + type = $& + size = Fiddle.const_get("SIZEOF_#{$1}") + name = $1.sub(/P\z/,"*").gsub(/_(?!T\z)/, " ").downcase + define_method("test_sizeof_#{name}") do + assert_equal(size, Fiddle::Importer.sizeof(name), type) + end + end + def test_unsigned_result() d = (2 ** 31) + 1 -- cgit v1.2.3