From 597a64146fe0268f4a71f78cdeebdf9823e6d045 Mon Sep 17 00:00:00 2001 From: ttate Date: Mon, 9 May 2005 14:38:44 +0000 Subject: replaced the local variable 'entity' with an instance variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/dl/lib/dl/struct.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'ext/dl/lib') diff --git a/ext/dl/lib/dl/struct.rb b/ext/dl/lib/dl/struct.rb index ba7e81eaf9..01445cf55a 100644 --- a/ext/dl/lib/dl/struct.rb +++ b/ext/dl/lib/dl/struct.rb @@ -17,16 +17,15 @@ module DL module CStructBuilder def create(klass, types, members) new_class = Class.new(klass){ - entity = nil define_method(:initialize){|addr| - entity = klass.entity_class.new(addr, types) - entity.assign_names(members) + @entity = klass.entity_class.new(addr, types) + @entity.assign_names(members) } - define_method(:to_ptr){ entity } - define_method(:to_i){ entity.to_i } + define_method(:to_ptr){ @entity } + define_method(:to_i){ @entity.to_i } members.each{|name| - define_method(name){ entity[name] } - define_method(name + "="){|val| entity[name] = val } + define_method(name){ @entity[name] } + define_method(name + "="){|val| @entity[name] = val } } } size = klass.entity_class.size(types) -- cgit v1.2.3