mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
value.rb: adjust indent
* ext/fiddle/lib/fiddle/value.rb (Fiddle::ValueUtil#wrap_arg): adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1459cabe70
commit
e553663cbd
1 changed files with 57 additions and 57 deletions
|
@ -46,67 +46,67 @@ module Fiddle
|
||||||
end
|
end
|
||||||
|
|
||||||
def wrap_arg(arg, ty, funcs = [], &block)
|
def wrap_arg(arg, ty, funcs = [], &block)
|
||||||
funcs ||= []
|
funcs ||= []
|
||||||
case arg
|
case arg
|
||||||
when nil
|
when nil
|
||||||
return 0
|
return 0
|
||||||
when Pointer
|
when Pointer
|
||||||
return arg.to_i
|
return arg.to_i
|
||||||
when IO
|
when IO
|
||||||
case ty
|
case ty
|
||||||
when TYPE_VOIDP
|
when TYPE_VOIDP
|
||||||
return Pointer[arg].to_i
|
return Pointer[arg].to_i
|
||||||
else
|
|
||||||
return arg.to_i
|
|
||||||
end
|
|
||||||
when Function
|
|
||||||
if( block )
|
|
||||||
arg.bind_at_call(&block)
|
|
||||||
funcs.push(arg)
|
|
||||||
elsif !arg.bound?
|
|
||||||
raise(RuntimeError, "block must be given.")
|
|
||||||
end
|
|
||||||
return arg.to_i
|
|
||||||
when String
|
|
||||||
if( ty.is_a?(Array) )
|
|
||||||
return arg.unpack('C*')
|
|
||||||
else
|
|
||||||
case SIZEOF_VOIDP
|
|
||||||
when SIZEOF_LONG
|
|
||||||
return [arg].pack("p").unpack("l!")[0]
|
|
||||||
when SIZEOF_LONG_LONG
|
|
||||||
return [arg].pack("p").unpack("q")[0]
|
|
||||||
else
|
|
||||||
raise(RuntimeError, "sizeof(void*)?")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
when Float, Integer
|
|
||||||
return arg
|
|
||||||
when Array
|
|
||||||
if( ty.is_a?(Array) ) # used only by struct
|
|
||||||
case ty[0]
|
|
||||||
when TYPE_VOIDP
|
|
||||||
return arg.collect{|v| Integer(v)}
|
|
||||||
when TYPE_CHAR
|
|
||||||
if( arg.is_a?(String) )
|
|
||||||
return val.unpack('C*')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return arg
|
|
||||||
else
|
|
||||||
return arg
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
if( arg.respond_to?(:to_ptr) )
|
return arg.to_i
|
||||||
return arg.to_ptr.to_i
|
end
|
||||||
|
when Function
|
||||||
|
if( block )
|
||||||
|
arg.bind_at_call(&block)
|
||||||
|
funcs.push(arg)
|
||||||
|
elsif !arg.bound?
|
||||||
|
raise(RuntimeError, "block must be given.")
|
||||||
|
end
|
||||||
|
return arg.to_i
|
||||||
|
when String
|
||||||
|
if( ty.is_a?(Array) )
|
||||||
|
return arg.unpack('C*')
|
||||||
|
else
|
||||||
|
case SIZEOF_VOIDP
|
||||||
|
when SIZEOF_LONG
|
||||||
|
return [arg].pack("p").unpack("l!")[0]
|
||||||
|
when SIZEOF_LONG_LONG
|
||||||
|
return [arg].pack("p").unpack("q")[0]
|
||||||
else
|
else
|
||||||
begin
|
raise(RuntimeError, "sizeof(void*)?")
|
||||||
return Integer(arg)
|
|
||||||
rescue
|
|
||||||
raise(ArgumentError, "unknown argument type: #{arg.class}")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
when Float, Integer
|
||||||
|
return arg
|
||||||
|
when Array
|
||||||
|
if( ty.is_a?(Array) ) # used only by struct
|
||||||
|
case ty[0]
|
||||||
|
when TYPE_VOIDP
|
||||||
|
return arg.collect{|v| Integer(v)}
|
||||||
|
when TYPE_CHAR
|
||||||
|
if( arg.is_a?(String) )
|
||||||
|
return val.unpack('C*')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return arg
|
||||||
|
else
|
||||||
|
return arg
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if( arg.respond_to?(:to_ptr) )
|
||||||
|
return arg.to_ptr.to_i
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
return Integer(arg)
|
||||||
|
rescue
|
||||||
|
raise(ArgumentError, "unknown argument type: #{arg.class}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue