ffi 1.15.5-x86-mingw32 → 1.16.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
data/lib/ffi/variadic.rb CHANGED
@@ -54,16 +54,27 @@ module FFI
54
54
  invoker = self
55
55
  params = "*args"
56
56
  call = "call"
57
- mod.module_eval <<-code
58
- @@#{mname} = invoker
59
- def self.#{mname}(#{params})
60
- @@#{mname}.#{call}(#{params})
61
- end
62
- def #{mname}(#{params})
63
- @@#{mname}.#{call}(#{params})
64
- end
57
+ mname = mname.to_sym
58
+ mod.module_eval <<-code, __FILE__, __LINE__
59
+ @ffi_functions = {} unless defined?(@ffi_functions)
60
+ @ffi_functions[#{mname.inspect}] = invoker
61
+
62
+ def self.#{mname}(#{params})
63
+ @ffi_functions[#{mname.inspect}].#{call}(#{params})
64
+ end
65
+
66
+ define_method(#{mname.inspect}, &method(#{mname.inspect}))
65
67
  code
66
68
  invoker
67
69
  end
70
+
71
+ # Retrieve Array of parameter types
72
+ #
73
+ # This method returns an Array of FFI types accepted as function parameters.
74
+ #
75
+ # @return [Array<FFI::Type>]
76
+ def param_types
77
+ [*@fixed, Type::Builtin::VARARGS]
78
+ end
68
79
  end
69
80
  end
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.15.5'
2
+ VERSION = '1.16.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.5
4
+ version: 1.16.0
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Wayne Meissner
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-10 00:00:00.000000000 Z
11
+ date: 2023-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
33
+ version: '1.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.0'
40
+ version: '1.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake-compiler-dock
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,23 +80,27 @@ files:
80
80
  - README.md
81
81
  - Rakefile
82
82
  - ffi.gemspec
83
- - lib/2.4/ffi_c.so
84
83
  - lib/2.5/ffi_c.so
85
84
  - lib/2.6/ffi_c.so
86
85
  - lib/2.7/ffi_c.so
87
86
  - lib/3.0/ffi_c.so
88
87
  - lib/3.1/ffi_c.so
88
+ - lib/3.2/ffi_c.so
89
89
  - lib/ffi.rb
90
90
  - lib/ffi/abstract_memory.rb
91
91
  - lib/ffi/autopointer.rb
92
92
  - lib/ffi/buffer.rb
93
93
  - lib/ffi/callback.rb
94
+ - lib/ffi/compat.rb
94
95
  - lib/ffi/data_converter.rb
96
+ - lib/ffi/dynamic_library.rb
95
97
  - lib/ffi/enum.rb
96
98
  - lib/ffi/errno.rb
97
99
  - lib/ffi/ffi.rb
100
+ - lib/ffi/function.rb
98
101
  - lib/ffi/io.rb
99
102
  - lib/ffi/library.rb
103
+ - lib/ffi/library_path.rb
100
104
  - lib/ffi/managedstruct.rb
101
105
  - lib/ffi/memorypointer.rb
102
106
  - lib/ffi/platform.rb
@@ -105,9 +109,12 @@ files:
105
109
  - lib/ffi/platform/aarch64-freebsd12/types.conf
106
110
  - lib/ffi/platform/aarch64-linux/types.conf
107
111
  - lib/ffi/platform/aarch64-openbsd/types.conf
112
+ - lib/ffi/platform/aarch64-windows/types.conf
108
113
  - lib/ffi/platform/arm-freebsd/types.conf
109
114
  - lib/ffi/platform/arm-freebsd12/types.conf
110
115
  - lib/ffi/platform/arm-linux/types.conf
116
+ - lib/ffi/platform/hppa1.1-linux/types.conf
117
+ - lib/ffi/platform/hppa2.0-linux/types.conf
111
118
  - lib/ffi/platform/i386-cygwin/types.conf
112
119
  - lib/ffi/platform/i386-darwin/types.conf
113
120
  - lib/ffi/platform/i386-freebsd/types.conf
@@ -119,6 +126,7 @@ files:
119
126
  - lib/ffi/platform/i386-solaris/types.conf
120
127
  - lib/ffi/platform/i386-windows/types.conf
121
128
  - lib/ffi/platform/ia64-linux/types.conf
129
+ - lib/ffi/platform/loongarch64-linux/types.conf
122
130
  - lib/ffi/platform/mips-linux/types.conf
123
131
  - lib/ffi/platform/mips64-linux/types.conf
124
132
  - lib/ffi/platform/mips64el-linux/types.conf
@@ -138,9 +146,10 @@ files:
138
146
  - lib/ffi/platform/s390x-linux/types.conf
139
147
  - lib/ffi/platform/sparc-linux/types.conf
140
148
  - lib/ffi/platform/sparc-solaris/types.conf
141
- - lib/ffi/platform/sparc64-linux/types.conf
149
+ - lib/ffi/platform/sparcv9-linux/types.conf
142
150
  - lib/ffi/platform/sparcv9-openbsd/types.conf
143
151
  - lib/ffi/platform/sparcv9-solaris/types.conf
152
+ - lib/ffi/platform/sw_64-linux/types.conf
144
153
  - lib/ffi/platform/x86_64-cygwin/types.conf
145
154
  - lib/ffi/platform/x86_64-darwin/types.conf
146
155
  - lib/ffi/platform/x86_64-dragonflybsd/types.conf
@@ -185,7 +194,7 @@ metadata:
185
194
  wiki_uri: https://github.com/ffi/ffi/wiki
186
195
  source_code_uri: https://github.com/ffi/ffi/
187
196
  mailing_list_uri: http://groups.google.com/group/ruby-ffi
188
- post_install_message:
197
+ post_install_message:
189
198
  rdoc_options:
190
199
  - "--exclude=ext/ffi_c/.*\\.o$"
191
200
  - "--exclude=ffi_c\\.(bundle|so)$"
@@ -195,18 +204,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
204
  requirements:
196
205
  - - ">="
197
206
  - !ruby/object:Gem::Version
198
- version: '2.4'
207
+ version: '2.5'
199
208
  - - "<"
200
209
  - !ruby/object:Gem::Version
201
- version: 3.2.dev
210
+ version: 3.3.dev
202
211
  required_rubygems_version: !ruby/object:Gem::Requirement
203
212
  requirements:
204
213
  - - ">="
205
214
  - !ruby/object:Gem::Version
206
215
  version: '0'
207
216
  requirements: []
208
- rubygems_version: 3.3.4
209
- signing_key:
217
+ rubygems_version: 3.3.26
218
+ signing_key:
210
219
  specification_version: 4
211
220
  summary: Ruby FFI
212
221
  test_files: []
data/lib/2.4/ffi_c.so DELETED
Binary file