1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

27 commits

Author SHA1 Message Date
usa
503badb5d1 merge revision(s) 44731,44751: [Backport #8978]
* ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.
	  [ruby-core:57599] [Bug #8978].  Thanks mame!

	* ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.
	  [ruby-core:57599] [Bug #8978].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-14 06:19:25 +00:00
usa
bede15ac5e merge revision(s) 40728:
* ext/dl/lib/dl/func.rb (DL::Function#call): check tainted when
	  $SAFE > 0.

	* ext/fiddle/function.c (function_call): check tainted when $SAFE > 0.

	* test/fiddle/test_func.rb (module Fiddle): add test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@40732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 11:27:08 +00:00
usa
3912b7f29d merge revision(s) 38073,38251,38252: [Backport #7552]
* ext/fiddle/extconf.rb, ext/fiddle/function.c
	  (Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an
	  enumeration. [ruby-core:50398] [Bug #7483]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 09:45:19 +00:00
kosaki
390bbfed58 merge revision(s) 35687:35691:
* ext/zlib/extconf.rb: Use an exception instaed of bare puts.

	* ext/psych/extconf.rb: Use an exception instaed of bare abort.

	* ext/fiddle/extconf.rb: Use an exception instaed of bare abort.

	* ext/readline/extconf.rb: Use an exception instead of bare exit.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@36930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-09 06:44:20 +00:00
naruse
a4debd6ae2 merge revision(s) 34626,34627:
* ext/fiddle/closure.c (callback): same as r34506.

	* ext/fiddle/closure.c (callback): deal with unsinged integers.
	  [ruby-core:42458][Bug #5991][Bug #6022]

	* ext/fiddle/conversions.c (value_to_generic, generic_to_value):
	  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 21:31:16 +00:00
nobu
5c99e2f633 * ext/fiddle/fiddle.c (Init_fiddle): declare in modern style.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 15:15:57 +00:00
naruse
b97d91dd4a merge revision(s) 34504,34506,34507,34508:
* ext/dl/lib/types.rb: Win64 support.

	* ext/fiddle/conversions.c (value_to_generic): src is not guranteed as
	  a Bignum if the type is LONG_LONG.  it may be a Fixnum if the value
	  is small.

	* ext/dl/lib/value.rb (DL::ValueUtil.{unsigned_value,signed_value}):
	  currenly pack/unpack does not accept "q!" and "Q!".

	* test/ruby/memory_status.rb (Memory::Win32): 64bit support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 07:20:53 +00:00
ngoto
01db73f6c2 Merge commit r32895 from trunk:
* ext/fiddle/conversions.c (generic_to_value): ffi_arg and ffi_sarg
      should be used to handle shorter return value. fix [Bug #3861]
      [ruby-core:32504]
    * ext/fiddle/closure.c (callback): ditto
    * ext/fiddle/conversions.h (fiddle_generic): ditto
    * ext/fiddle/conversions.c (value_to_generic): char, short and int
      are strictly distinguished on big-endian CPU, e.g. sparc64.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@33015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-21 02:35:12 +00:00
drbrain
c33343b964 * backport r32981 and r32982 from trunk.
* ext/dl:  Add documentation.  Patch by Vincent Batts.
  [Ruby 1.9 - Bug #5192]
* ext/.document (fiddle):  Remove duplicate entry
* ext/fiddle:  Complete documentation of Fiddle.  Patch by Vincent
  Batts.  [#5192]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-16 00:51:58 +00:00
nagachika
34c7aaa1cb merge revision 32725:
* ext/fiddle/closure.c (callback): use rb_ary_tmp_new() instead of
          xmalloc() to allocate an array for arguments of callback procedure,
          to prevent arguments from being swept by GC. [ruby-core:38546]
          [Bug #4929]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-28 15:00:58 +00:00
akr
8f59ed795d * ext/fiddle/conversions.h: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-14 12:04:28 +00:00
tenderlove
20e2c4cb36 * Use _WIN32 rather than checking for windows.h. Thanks Jon Forums!
[ruby-core:33977]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05 03:13:18 +00:00
tenderlove
5c99ee83ad * ext/fiddle/extconf.rb: check for windows.h while building fiddle.
Thanks Jon Forums! [ruby-core:33923]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-27 19:34:00 +00:00
tenderlove
8c196cfba8 * ext/fiddle/extconf.rb: fixing ffi library location on windows.
Thanks Usa! [ruby-core:32930]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-04 15:15:39 +00:00
nobu
6b48289bb7 * ext/fiddle/closure.c (fiddle_closure): embed cif not reference
so that the content surely get initialized.  [ruby-dev:42480]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-30 00:08:30 +00:00
tenderlove
204f8d6820 * ext/fiddle/closure.c : Don't use FFI closure alloc on OpenBSD.
Thanks Jeremy Evans! [ruby-core:32384]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-14 17:15:30 +00:00
nobu
6de2f601af * ext/fiddle/closure.c (closure_data_type),
ext/fiddle/function.c (function_data_type): rb_data_type_t has
  changed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-20 09:23:08 +00:00
nobu
3e8540543e * ext/fiddle/fiddle.h: fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-28 21:22:57 +00:00
tenderlove
50bb2544bb * ext/fiddle/fiddle.h: added FFI type detection to avoid bug in ffi
header files. Thanks Yugui! [ruby-core:30917]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-28 16:26:59 +00:00
mame
3ccd6c0aab * ext/fiddle/extconf.rb: check ffi.h even when pkg-config succeeded.
On Debian/lenny, which is a "supported" platform, ffi.h is installed
  in /usr/include/i486-linux-gnu/.  This causes build error when using
  gcc whose target is not i486-linux-gnu.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-15 16:43:46 +00:00
eban
6e10636d32 * ext/fiddle/extconf.rb: De Morgan's laws.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-15 08:16:33 +00:00
eban
423b4d815f * ext/fiddle/extconf.rb: use pkg_config to find ffi.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-15 03:14:34 +00:00
naruse
7eec027f06 * ext/fiddle/closure.c (dealloc): refix workaround r28300.
don't use ffi_closure_alloc, ffi_prep_closure_loc and
  ffi_closure_free on MACOSX and __linux__.
  [ruby-dev:41483] [ruby-dev:41214]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-13 19:06:25 +00:00
naruse
5422161026 * ext/fiddle/closure.c (dealloc): workaround fix for libffi's
ffi_closure_free. [ruby-dev:41483] [ruby-dev:41214]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-12 15:28:40 +00:00
tenderlove
1684c23496 * ext/fiddle/lib/fiddle.rb: only require DL if it hasn't been required
yet. [ruby-core:30095]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 17:59:46 +00:00
nobu
f7050e0e27 * ext/fiddle/function.c (function_call): removed unused variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-06 09:33:10 +00:00
tenderlove
4bada8b864 * ext/fiddle/*: Adding fiddle library to wrap libffi
* test/fiddle/*: testing fiddle extension
* ext/dl/lib/dl.rb: Requiring fiddle if it is available
* ext/dl/lib/dl/callback.rb: using Fiddle if it is available
* ext/dl/lib/dl/func.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-06 06:59:24 +00:00