Commit graph

297 commits

Author SHA1 Message Date
shirosaki
9bb55f7633 * ext/dl/win32/lib/Win32API.rb (Win32API#call): use 64bit pointer for x64
Windows. This would fix
  TestSecureRandom#test_s_random_bytes_without_openssl error.
  [ruby-core:47451] [Bug #6990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-05 14:00:41 +00:00
tenderlove
4b1df2ae45 * ext/dl/lib/dl/struct.rb: fix strange require order. [ruby-dev:45702]
* ext/dl/lib/dl/value.rb: ditto

* test/dl/test_c_struct_entry.rb: remove strange require order from
  tests.

* test/dl/test_c_union_entity.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-30 17:54:34 +00:00
nobu
af6c038b23 remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-04 00:57:31 +00:00
usa
3401fc5984 * ext/dl/lib/dl/func.rb (DL::Function#bind): fixes an error in
test/dl/test_import.rb (DL::TestImport#test_carried_function)
  introduced by r36718.
  the instance of the anonymous class which wraps the block should have
  same methods and instance variables of self.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 06:53:40 +00:00
usa
4a097d2e3e * ext/dl/lib/dl/func.rb (DL::Function#bind): allow to return/break from
the callback method. (Fiddle already allows it.)
  [Bug #6389] [ruby-dev:45604]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 03:42:19 +00:00
usa
1f23350194 * 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/trunk@36281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03 03:10:02 +00:00
drbrain
fe962cde15 * ext/dl/lib/dl/struct.rb (DL::CStructEntity#set_ctypes): Refactored
#set_ctypes using newer ruby features to simplify its implementation.
* test/dl/test_c_struct_entry.rb (class DL):  Test to verify
  refactoring.

Reviewed by Aaron Patterson.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-31 22:07:09 +00:00
drbrain
40cf3e0cca * ext/dl/lib/dl/struct.rb (DL::CStructEntity::size): Refactored ::size
to remove unused variables and simplify using newer ruby features.
* test/dl/test_c_struct_entry.rb:  Test to validate refactoring

Reviewed by Aaron Patterson


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-31 00:27:34 +00:00
drbrain
0381ab0769 * ext/dl/lib/dl/struct.rb (DL::CUnionEntity#set_ctypes): Refactored
#set_types to reuse DL::CUnionEntity::size
* test/dl/test_c_union_entity.rb:  Added test

Reviewed by Aaron Paterson


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 23:41:07 +00:00
drbrain
f1cb6ea08f * ext/dl/lib/dl/struct.rb (DL::CUnionEntity::size): Fixed ::size to
return the size of the union.
* test/dl/test_c_union_entity.rb:  Test for DL::CUnionEntity::size

Reviewed by Aaron Patterson


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 23:20:29 +00:00
drbrain
2e87e2150e * ext/dl: Added documentation. Patch by Vincent Batts.
[ruby-trunk - Bug #6496]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 22:48:42 +00:00
usa
62d71852df * 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/trunk@35485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-27 03:36:33 +00:00
drbrain
da39d32f60 * encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control
reaches end of non-void function" warnings.  [ruby-trunk - Bug #6066]
* re.c (name_to_backref_number):  ditto.
* object.c (rb_Float):  ditto.
* io.c (io_readpartial):  ditto.
* io.c (io_read_nonblock):  ditto.
* pack.c (rb_uv_to_utf8):  ditto.
* proc.c (rb_method_entry_arity):  ditto.
* vm_method.c (rb_f_notimplement):  ditto.
* struct.c (rb_struct_aset_id):  ditto.
* class.c (rb_scan_args):  ditto.
* process.c (rlimit_resource_type):  ditto.
* process.c (rlimit_resource_value):  ditto.
* process.c (p_uid_switch):  ditto.
* process.c (p_gid_switch):  ditto.
* ext/digest/digest.c (rb_digest_instance_update):  ditto.
* ext/digest/digest.c (rb_digest_instance_finish):  ditto.
* ext/digest/digest.c (rb_digest_instance_reset):  ditto.
* ext/digest/digest.c (rb_digest_instance_block_length):  ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp):  ditto.
* ext/dl/handle.c (rb_dlhandle_close):  ditto.
* ext/tk/tcltklib.c (pending_exception_check0):  ditto.
* ext/tk/tcltklib.c (pending_exception_check1):  ditto.
* ext/tk/tcltklib.c (ip_cancel_eval_core):  ditto.
* ext/tk/tcltklib.c (lib_get_reltype_name):  ditto.
* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core):  ditto.
* ext/tk/tkutil/tkutil.c (tk_hash_kv):  ditto.
* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve):  ditto.
* ext/fiddle/conversions.c (generic_to_value):  ditto.
* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo):  ditto.
* ext/socket/socket.c (sock_s_getnameinfo):  ditto.
* ext/ripper/eventids2.c (ripper_token2eventid):  ditto.
* cont.c (return_fiber):  ditto.
* dmydln.c (dln_load):  ditto.
* vm_insnhelper.c (vm_search_normal_superclass):  ditto.
* bignum.c (big_fdiv):  ditto.
* marshal.c (r_symlink):  ditto.
* marshal.c (r_symbol):  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-13 23:45:37 +00:00
nobu
b4288080e7 * ext/dl/dl.c (Init_dl): support intrinsic types, size_t, ptrdiff_t
and intptr_t.  [ruby-core:42460][Feature #5992]
* ext/fiddle/fiddle.c (Init_fiddle): ditto.
* ext/dl/lib/dl/cparser.rb (DL::CParser#parse_ctype): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 05:47:16 +00:00
nobu
14c97cf9b6 * ext/dl/extconf.rb: clang does not use -fno-defer-pop during compilation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 16:41:08 +00:00
nobu
96ab37015e * ext/dl/dl.h (ALIGN_OF): use offsetof().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 16:30:43 +00:00
nobu
196151158f * ext/dl/dl.h (DLALIGN): round up at once and get rid of overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 16:29:08 +00:00
nobu
f90f02ab20 * ext/dl/dl.c (Init_dl): fix mangled documnet.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 07:48:22 +00:00
usa
b2ba3242ea * ext/dl/lib/value.rb (DL::ValueUtil.{unsigned_value,signed_value}):
currenly pack/unpack does not accept "q!" and "Q!".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 07:10:26 +00:00
usa
70b504badb * ext/dl/lib/types.rb: Win64 support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 02:32:58 +00:00
nobu
ef84b7c678 * ext/dl/cptr.c (rb_dlptr_new2): remove unused variable.
* ext/iconv/iconv.c (get_iconv_opt_i): ditto.

	* ext/syck/token.c (Plain): fix types on LP64.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 21:47:35 +00:00
nobu
67bf09903f * ext/dl/callback/mkcallback.rb (gencallback): suppress unused
variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-14 13:24:12 +00:00
naruse
56dc6f5acc * gc.c (ruby_mimmalloc): defined for objects need not rb_objspace,
but should return pointer suitable for ruby_xfree;
  main vm and main thread.
  patched by Sokolov Yura. https://github.com/ruby/ruby/pull/79

* internal.h: ditto.

* vm.c (Init_BareVM): use ruby_mimmalloc.

* ext/dl/cfunc.c: #include <ruby/util.h>.

* ext/syslog/syslog.c: use xfree because it is allocated by
  ruby_strdup.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-10 03:49:10 +00:00
drbrain
de6d4f7e7b * ext/dl: Add documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #5192]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-16 00:34:51 +00:00
nobu
d3d44cd928 * ext/dl/callback/mkcallback.rb (gencallback): use PTR2NUM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-28 03:32:56 +00:00
nobu
eda13c7ee2 * ext/dl/cptr.c (rb_dlptr_aref, rb_dlptr_aset): check NULL pointer
dereference.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-28 03:32:52 +00:00
nobu
ad8ab9c013 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): use rb_check_funcall.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-28 03:32:48 +00:00
nobu
79d8d7439a * ext/dl/cptr.c (rb_dlptr_s_to_ptr): fix wrapping condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-28 03:32:45 +00:00
nobu
9f3914aba6 * 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.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-27 17:15:09 +00:00
naruse
13f62a384b * 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/trunk@32586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-20 06:50:54 +00:00
naruse
6b1cf264a8 * ext/sdbm/_sdbm.c (sdbm_open): use size_t.
* 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
2011-03-25 06:46:57 +00:00
akr
698960439d * ext/dl/cfunc.c: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-11 14:17:24 +00:00
akr
ac2c1a2968 * ext/dl/dl.h: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-10 14:12:57 +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
luislavena
5d47965174 * ext/dl/win32/registry.rb: Corrected RegCreateKeyExA signature.
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
2010-12-25 19:33:46 +00:00
naruse
b2ea6df3b5 * ext/dl/lib/dl/struct.rb: clean a warning: assigned but unused
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
2010-12-08 13:29:25 +00:00
usa
b00dfcca17 * ext/dl/callback/mkcallback.rb (gencallback): shouldn't assume that
VALUE is the same size with long.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-25 01:31:21 +00:00
nobu
cea3919ae6 * configure.in (RUBY_CHECK_PRINTF_PREFIX): check for printf format
specifier if possible.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 15:03:51 +00:00
usa
c6465aeeb1 * ext/dl/cfunc.c (rb_dlcfunc_call): workaround for VC9 for x64.
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
2010-08-24 18:46:24 +00:00
usa
f89a50b62c * ext/dl/win32/lib/win32/resolv.rb (get_info): get rid of a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-10 11:17:00 +00:00
nobu
c53664c84d .cvsignore: have not been used already. [Bug #3468]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 05:43:21 +00:00
nobu
062b4d6752 * include/ruby/{intern,io}.h: add missing prototypes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-22 03:02:40 +00:00
nobu
25b9eb5e57 * include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]
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
2010-07-18 07:31:54 +00:00
nobu
7aa4c13360 * ext/dl/handle.c (rb_dlhandle_close): should not pass a dynamic
string to rb_raise directly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-13 11:46:01 +00:00
tenderlove
ff10d93563 * ext/dl/lib/dl/import.rb (handler): add a more helpful error message
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
2010-07-05 23:38:35 +00:00
tarui
db4a0d42dd * ext/dl/lib/dl/func.rb (call): don't overwrite original arguments
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
2010-06-25 19:43:15 +00:00
naruse
75033ea16f * ext/dl/lib/dl.rb: don't require when already loaded.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-12 15:28:47 +00:00
nobu
da0ac85107 * ext/dl/cfunc.c (rb_dlcfunc_inspect): should taint the result.
[ruby-dev:41533]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-04 01:46:36 +00:00
nobu
8984ef4705 * ext/dl/cfunc.c (rb_dlcfunc_inspect): suppress warnings by
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
2010-06-03 10:33:57 +00:00
usa
fdc4326702 * ext/dl/dl.h (DLSTACK_TYPE): type of stack is same as VALUE.
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
2010-06-03 00:38:59 +00:00