Age | Commit message (Collapse) | Author |
|
(https://github.com/ruby/fiddle/pull/90)
I need to get the offset of members inside sub structures. This patch
adds sub-structure offset support for structs.
https://github.com/ruby/fiddle/commit/cf78eddbb6
|
|
(https://github.com/ruby/fiddle/pull/83)
* Add "offsetof" to Struct classes
I need to get the offset of a member inside a struct without allocating
the struct. This patch adds an "offsetof" class method to structs that
are generated.
The usage is like this:
```ruby
MyStruct = struct [
"int64_t i",
"char c",
]
MyStruct.offsetof("i") # => 0
MyStruct.offsetof("c") # => 8
```
* Update test/fiddle/test_c_struct_builder.rb
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
https://github.com/ruby/fiddle/commit/4e3b60c5b6
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
|
|
https://github.com/ruby/fiddle/commit/049138b4b8
|
|
https://github.com/ruby/fiddle/commit/3784cfeec4
|
|
GitHub: fix GH-72
Users can't use WSAGetLastError() with Ruby 3.0 or later because
rb_funcall() resets the last socket error internally.
Users can get the last socket error by Fiddle.win32_last_socket_error.
Reported by Kentaro Hayashi. Thanks!!!
https://github.com/ruby/fiddle/commit/76158db00a
Notes:
Merged: https://github.com/ruby/ruby/pull/4506
|
|
GitHub: fix #68
Reported by kojix2. Thanks!!!
https://github.com/ruby/fiddle/commit/d7322c234a
Notes:
Merged: https://github.com/ruby/ruby/pull/4506
|
|
https://github.com/ruby/fiddle/commit/35dec6c5a5
Notes:
Merged: https://github.com/ruby/ruby/pull/4506
|
|
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
https://github.com/ruby/fiddle/commit/805c1a595a
Notes:
Merged: https://github.com/ruby/ruby/pull/4506
|
|
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
https://github.com/ruby/fiddle/commit/28ee5b1608
Notes:
Merged: https://github.com/ruby/ruby/pull/4506
|
|
https://github.com/ruby/fiddle/commit/0cbd370fd6
Notes:
Merged: https://github.com/ruby/ruby/pull/4506
|
|
https://github.com/ruby/fiddle/commit/63e5f98412
Notes:
Merged: https://github.com/ruby/ruby/pull/4506
|
|
|
|
This lets us cast a Fiddle::Function to a block, allowing is to write
things like:
```ruby
f = Fiddle::Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP)
define_method :strcpy, &f
```
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3970
|
|
I don't use tool/sync_default_gem.rb because the last sync was incomplete.
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
Co-authored-by: sinisterchipmunk <sinisterchipmunk@gmail.com>
Co-authored-by: Sutou Kouhei <kou@clear-code.com>
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
https://github.com/ruby/fiddle/commit/74b65cb858
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
GitHub: fix GH-15
Reported by Eneroth3. Thanks!!!
https://github.com/ruby/fiddle/commit/f3d70b81ec
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
Add rb_fiddle_ prefix to conversion functions.h to keep backward
compatibility but value_to_generic() isn't safe for TYPE_CONST_STRING
and not String src. Use rb_fiddle_value_to_generic() instead.
https://github.com/ruby/fiddle/commit/0ffcaa39e5
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
memory in tests (#33)
https://github.com/ruby/fiddle/commit/e59cfd708a
|
|
https://github.com/ruby/fiddle/commit/1b93a2d9db
Notes:
Merged: https://github.com/ruby/ruby/pull/3068
|
|
https://github.com/ruby/fiddle/commit/445ca6b501
Notes:
Merged: https://github.com/ruby/ruby/pull/3068
|
|
https://github.com/ruby/fiddle/commit/f8fb7c4823
Notes:
Merged: https://github.com/ruby/ruby/pull/3068
|
|
https://github.com/ruby/fiddle/commit/9dcf64c096
Notes:
Merged: https://github.com/ruby/ruby/pull/3068
|
|
* Allow access to a struct's underlying memory with `struct[offset, length]`.
https://github.com/ruby/fiddle/commit/24083690a6
Notes:
Merged: https://github.com/ruby/ruby/pull/3068
|
|
* Allow access to a struct's underlying memory with `struct[offset, length]`.
* Make accessing a struct's underlying memory more convenient.
* refactor memory access unit tests for improved clarity
https://github.com/ruby/fiddle/commit/c082c81bb5
Notes:
Merged: https://github.com/ruby/ruby/pull/3068
|
|
* ext/fiddle/lib/fiddle/import.rb: suppress exception report when
$DEBUG is enabled. [ruby-core:86536] [Bug #14686]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fixes: r62450 (commit 1aaeeb326e754c5c5db83fbf35f780f729a9dfed)
("long long is a C99ism")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
so SIZEOF_LONG_LONG is not always available.
We have to check its defined?-ness before using.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
https://github.com/ruby/ruby/pull/1666
Patch by @guilherme [fix GH-1666]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/closure.c: use directly declaration for standalone gem
without internal.h.
* Specify frozen string literal is true.
* Update gemspec configuration for release version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/lib/fiddle/import.rb (type_alias, handler): suppress
"not initialized instance variable" warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
g -L frozen_string_literal ext/**/*.rb|xargs ruby -Ka -e'ARGV.each{|fn|puts
fn;open(fn,"r+"){|f|s=f.read.sub(/\A(#!.*\n)?(#.*coding.*\n)?/,"\\&#
frozen_string_literal: false\n");f.rewind;f.write s}}'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/lib/fiddle/cparser.rb (parse_ctype): limit split word
number as the rest are not used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
type_alias
* test/fiddle/test_cparser.rb: added type_alias test for parse_ctype
and parse_struct_signature.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to handle rich signatures including parameter names and function
pointer types. Patch by @theryan [fix GH-590]
* test/fiddle/test_cparser.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo,
SIZEOF_LONG_LON. [Fix GH-714]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/lib/fiddle/import.rb: ditto
* ext/psych/lib/psych.rb: ditto
* ext/psych/lib/psych/nodes/sequence.rb: ditto
* ext/tk/lib/multi-tk.rb: ditto
* ext/tk/lib/tcltk.rb: ditto
Closes GH-490
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/handle.c: [DOC] Document Fiddle::Handle.new(nil)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
CPtr -> Pointer.
* test/fiddle/test_c_struct_entry.rb
(Fiddle::TestCStructEntity#test_aref_pointer):
Added the test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
CPtr -> Pointer.
* test/fiddle/test_c_struct_entry.rb
(Fiddle::TestCStructEntity#test_aref_pointer_array):
Added the test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
CPtr -> Pointer.
* test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):
Added the test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to set the name attribute.
* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function): set function name by using the :name keyword argument.
Re-fixes r38243. [ruby-core:50566]
* test/fiddle/test_function.rb (test_name): test for the :name keyword argument and Fiddle::Function#name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
attribute needed to switch Win32::Registry from DL to Fiddle.
* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):
set function name to the returned Fiddle::Function object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
constant from RDoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
and modified for Fiddle, needed for migration from DL to Fiddle.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
should respect call_type for migration from DL to Fiddle.
[Bug #7484] [ruby-core:50405]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/fiddle/lib/fiddle/value.rb (Fiddle::ValueUtil#wrap_arg): adjust
indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|