Age | Commit message (Collapse) | Author |
|
* test/dl/test_func.rb (test_name_with_block, test_bind, test_qsort1):
call unbind to release the callback closure because maximum number
of callbacks is limited to DL::MAX_CALLBACK (== 5) with pure DL
without Fiddle.
* ext/dl/lib/dl/func.rb (DL::Function#unbind, #bound?): suppress
NoMethodError when Fiddle is available. [ruby-core:50756] [Bug #7543]
* test/dl/test_func.rb (test_bound*, test_unbind*): tests for the above.
* ext/dl/lib/dl/func.rb (DL::Function#initialize, DL::Function#bind):
ABI should be set by using CFunc#calltype even when Fiddle is used.
When Fiddle is used and a block is given, name shoud not be ignored.
[ruby-core:50562] [Bug #7514]
* ext/dl/lib/dl/import.rb (DL::Importer#bind_function): should respect
abi and name when Fiddle is used.
* test/dl/test_func.rb (test_name_with_block): test for "name" method
with giving a block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/dl/lib/dl/func.rb (DL::Function#bind): When Fiddle is used,
@ptr should be updated. This fixes SEGV raised in DL::Function#call
after calling DL::Function#bind. [Bug #7516] [ruby-dev:46708]
* test/dl/test_func.rb (test_bind): test for the above
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/dl/cfunc.c (rb_dlcfunc_call): should convert a Bignum value to
unsigned long long on Win64.
[ruby-core:44636][Bug #6364] reported by raylinn@gmail.com (ray linn)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/dl/cfunc.c (rb_dlcfunc_call): also needed the workaround for VC8
for x64. [ruby-dev:45875] [Bug #6676]
reported by aves_ramphastos (Seigo Ishigane)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@36307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/dl/cfunc.c (dlcfunc_mark), ext/dl/cptr.c (dlptr_mark):
workaround to mark wrapped object. this is not a true fix,
because [Bug #4929] is caused by the interface design of DL.
* ext/dl/cptr.c (rb_dlptr_s_to_ptr): fix wrapping condition.
* ext/dl/cptr.c (rb_dlptr_s_to_ptr): fix wrapping condition.
* ext/dl/cptr.c (rb_dlptr_s_to_ptr): use rb_check_funcall.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/dl/cptr.c (rb_dlptr_aref, rb_dlptr_aset): check NULL pointer
dereference.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* 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
|
|
* 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
|
|
* ext/dl/handle.c (dlhandle_sym): clear previous error with dlerror()
before calling dlsym(). [ruby-dev:44091] [Bug #5021]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/syck/bytecode.c: ditto.
* ext/sdbm/_sdbm.c (delpair): use ptrdiff_t.
* ext/sdbm/init.c: use RSTRING_LENINT.
* ext/dl/handle.c: suppress warning: shorten-64-to-32.
* ext/strscan/strscan.c: ditto.
* ext/syck/emitter.c: ditto.
* ext/syck/implicit.c: ditto.
* ext/syck/syck.c: ditto.
* ext/syck/token.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-core:33977]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Patch by Rafal Michalski [ruby-core:33874] [Ruby 1.9-Bug#4203]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
variable. patched by Kouhei Yanagita. [ruby-dev:42722]
* ext/dl/lib/dl/import.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
VALUE is the same size with long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
specifier if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
reported by kuwamoto shintaro in [ruby-dev:42125].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
add parent member.
* error.c (rb_typeddata_inherited_p): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
string to rb_raise directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
when calling import_symbol or import_function without calling
dlload. Thanks nobu! [ruby-core:30996]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to defend from GC.
* test/dl/test_func.rb (test_string): add test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-dev:41533]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_sprintf.
* ext/dl/cptr.c (rb_dlptr_s_malloc): suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
reported by sakiyama shin in [ruby-dev:41514]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
by supporting "uint" types in the c parser. [ruby-core:29750]
* test/dl/test_cparser.rb: adding a test for "uint" changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* 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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
name should be a string. fixed [ruby-core:28192]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
long long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/dl/closure.c (dlc_callback, rb_dlclosure_init): ditto.
* ext/dl/cptr.c (rb_dlptr_s_malloc): ditto.
* ext/dl/method.c (rb_dlfunction_initialize): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
unsigned.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/dl/test_import.rb (DL::LIBC::BoundQsortCallback): renamed
to get rid of overwriting warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/dl/function.c: DL::Function now uses libffi
* ext/dl/cfunc.c (rb_dl_set_last_error): set to non static so errors
can be exposed.
* ext/dl/closure.c: DL::Closure will now be used in place of
ext/dl/callback/*.
* ext/dl/dl.c: legacy callbacks removed in favor of libffi
* ext/dl/dl_converions.(c,h): used for converting ruby types to FFI
types.
* ext/dl/callback/*: replaced by libffi callbacks.
* ext/dl/lib/dl/callback.rb: Converting internal callbacks to use
DL::Closure
* ext/dl/lib/dl/closure.rb: Ruby parts of the new DL::Closure object
* ext/dl/lib/dl/import.rb: More conversion to use DL::Closure object
* ext/dl/lib/dl/value.rb (ruby2ffi): adding private method for
DL::CPtr to ffi value conversion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
keep a reference to the object it's wrapping
* test/dl/test_func.rb use standard test methods
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|