@@ -6,17 +6,17 @@ module ValueUtil #:nodoc: all
66 def unsigned_value ( val , ty )
77 case ty . abs
88 when TYPE_CHAR
9- [ val ] . pack ( "c" ) . unpack ( "C" ) [ 0 ]
9+ [ val ] . pack ( "c" ) . unpack1 ( "C" )
1010 when TYPE_SHORT
11- [ val ] . pack ( "s!" ) . unpack ( "S!" ) [ 0 ]
11+ [ val ] . pack ( "s!" ) . unpack1 ( "S!" )
1212 when TYPE_INT
13- [ val ] . pack ( "i!" ) . unpack ( "I!" ) [ 0 ]
13+ [ val ] . pack ( "i!" ) . unpack1 ( "I!" )
1414 when TYPE_LONG
15- [ val ] . pack ( "l!" ) . unpack ( "L!" ) [ 0 ]
15+ [ val ] . pack ( "l!" ) . unpack1 ( "L!" )
1616 else
1717 if defined? ( TYPE_LONG_LONG ) and
1818 ty . abs == TYPE_LONG_LONG
19- [ val ] . pack ( "q" ) . unpack ( "Q" ) [ 0 ]
19+ [ val ] . pack ( "q" ) . unpack1 ( "Q" )
2020 else
2121 val
2222 end
@@ -26,17 +26,17 @@ def unsigned_value(val, ty)
2626 def signed_value ( val , ty )
2727 case ty . abs
2828 when TYPE_CHAR
29- [ val ] . pack ( "C" ) . unpack ( "c" ) [ 0 ]
29+ [ val ] . pack ( "C" ) . unpack1 ( "c" )
3030 when TYPE_SHORT
31- [ val ] . pack ( "S!" ) . unpack ( "s!" ) [ 0 ]
31+ [ val ] . pack ( "S!" ) . unpack1 ( "s!" )
3232 when TYPE_INT
33- [ val ] . pack ( "I!" ) . unpack ( "i!" ) [ 0 ]
33+ [ val ] . pack ( "I!" ) . unpack1 ( "i!" )
3434 when TYPE_LONG
35- [ val ] . pack ( "L!" ) . unpack ( "l!" ) [ 0 ]
35+ [ val ] . pack ( "L!" ) . unpack1 ( "l!" )
3636 else
3737 if defined? ( TYPE_LONG_LONG ) and
3838 ty . abs == TYPE_LONG_LONG
39- [ val ] . pack ( "Q" ) . unpack ( "q" ) [ 0 ]
39+ [ val ] . pack ( "Q" ) . unpack1 ( "q" )
4040 else
4141 val
4242 end
@@ -80,11 +80,11 @@ def wrap_arg(arg, ty, funcs = [], &block)
8080 else
8181 case SIZEOF_VOIDP
8282 when SIZEOF_LONG
83- return [ arg ] . pack ( "p" ) . unpack ( "l!" ) [ 0 ]
83+ return [ arg ] . pack ( "p" ) . unpack1 ( "l!" )
8484 else
8585 if defined? ( SIZEOF_LONG_LONG ) and
8686 SIZEOF_VOIDP == SIZEOF_LONG_LONG
87- return [ arg ] . pack ( "p" ) . unpack ( "q" ) [ 0 ]
87+ return [ arg ] . pack ( "p" ) . unpack1 ( "q" )
8888 else
8989 raise ( RuntimeError , "sizeof(void*)?" )
9090 end
@@ -102,10 +102,8 @@ def wrap_arg(arg, ty, funcs = [], &block)
102102 return val . unpack ( 'C*' )
103103 end
104104 end
105- return arg
106- else
107- return arg
108105 end
106+ return arg
109107 else
110108 if ( arg . respond_to? ( :to_ptr ) )
111109 return arg . to_ptr . to_i
0 commit comments