File tree Expand file tree Collapse file tree 1 file changed +11
-10
lines changed
_tools/ruby_h_to_go/lib/ruby_h_to_go Expand file tree Collapse file tree 1 file changed +11
-10
lines changed Original file line number Diff line number Diff line change @@ -63,7 +63,9 @@ def generate_go_content
63
63
args . each do |c_arg |
64
64
case c_arg . pointer
65
65
when :ref
66
- if c_arg . type == "char"
66
+ case c_arg . type
67
+ when "char"
68
+ # c_arg is string
67
69
if char_var_count >= 2
68
70
char_var_name = "char#{ snake_to_camel ( c_arg . go_name ) } "
69
71
clean_var_name = "cleanChar#{ c_arg . go_name } "
@@ -77,18 +79,17 @@ def generate_go_content
77
79
go_function_lines << ""
78
80
79
81
casted_go_args << char_var_name . to_s
82
+ when "void"
83
+ # c_arg is pointer
84
+ casted_go_args << c_arg . go_name
80
85
else
81
- if c_arg . type == "void"
82
- casted_go_args << c_arg . go_name
83
- else
84
- c_var_name = "c#{ snake_to_camel ( c_arg . go_name ) } "
86
+ c_var_name = "c#{ snake_to_camel ( c_arg . go_name ) } "
85
87
86
- before_call_function_lines << "var #{ c_var_name } #{ cast_to_cgo_type ( c_arg . type ) } "
87
- after_call_function_lines <<
88
- "*#{ c_arg . go_name } = #{ ruby_c_type_to_go_type ( c_arg . type , pos : :arg ) } (#{ c_var_name } )"
88
+ before_call_function_lines << "var #{ c_var_name } #{ cast_to_cgo_type ( c_arg . type ) } "
89
+ after_call_function_lines <<
90
+ "*#{ c_arg . go_name } = #{ ruby_c_type_to_go_type ( c_arg . type , pos : :arg ) } (#{ c_var_name } )"
89
91
90
- casted_go_args << "&#{ c_var_name } "
91
- end
92
+ casted_go_args << "&#{ c_var_name } "
92
93
end
93
94
when :function
94
95
casted_go_args << "toCFunctionPointer(#{ c_arg . go_name } )"
You can’t perform that action at this time.
0 commit comments