File tree Expand file tree Collapse file tree 1 file changed +17
-13
lines changed Expand file tree Collapse file tree 1 file changed +17
-13
lines changed Original file line number Diff line number Diff line change @@ -55,19 +55,7 @@ def self.int_type(size)
55
55
def self . convert_ruby_to_native ( type , val )
56
56
case type
57
57
when Fiddle ::TYPE_VOIDP
58
- if val . is_a? ( String )
59
- Truffle ::CExt . string_pointer_to_native ( val )
60
- elsif val . is_a? ( Fiddle ::Pointer )
61
- val . to_i
62
- elsif val . respond_to? ( :to_ptr )
63
- val . to_ptr . to_i
64
- elsif val . nil?
65
- 0
66
- elsif val . is_a? ( Integer )
67
- val
68
- else
69
- raise NotImplementedError , "#{ val . inspect } to pointer"
70
- end
58
+ get_pointer_value ( val )
71
59
when Fiddle ::TYPE_INT
72
60
Integer ( val )
73
61
when -Fiddle ::TYPE_LONG
@@ -79,6 +67,22 @@ def self.convert_ruby_to_native(type, val)
79
67
end
80
68
end
81
69
70
+ def self . get_pointer_value ( val )
71
+ if val . is_a? ( String )
72
+ Truffle ::CExt . string_pointer_to_native ( val )
73
+ elsif val . is_a? ( Fiddle ::Pointer )
74
+ val . to_i
75
+ elsif val . respond_to? ( :to_ptr )
76
+ val . to_ptr . to_i
77
+ elsif val . nil?
78
+ 0
79
+ elsif val . is_a? ( Integer )
80
+ val
81
+ else
82
+ raise NotImplementedError , "#{ val . inspect } to pointer"
83
+ end
84
+ end
85
+
82
86
def self . convert_native_to_ruby ( type , val )
83
87
case type
84
88
when Fiddle ::TYPE_VOID
You can’t perform that action at this time.
0 commit comments