Method: Fiddle::ValueUtil#unsigned_value

Defined in:
lib/fiddle/value.rb

#unsigned_value(val, ty) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/fiddle/value.rb', line 6

def unsigned_value(val, ty)
  case ty.abs
  when TYPE_CHAR
    [val].pack("c").unpack1("C")
  when TYPE_SHORT
    [val].pack("s!").unpack1("S!")
  when TYPE_INT
    [val].pack("i!").unpack1("I!")
  when TYPE_LONG
    [val].pack("l!").unpack1("L!")
  else
    if defined?(TYPE_LONG_LONG) and
      ty.abs == TYPE_LONG_LONG
      [val].pack("q").unpack1("Q")
    else
      val
    end
  end
end