Commit graph

177 commits

Author SHA1 Message Date
yugui
a1bfd01aee merges r23550 from trunk into ruby_1_9_1.
--
* ext/dl/lib/dl/cparser.rb (DL::CParser#parse_struct_signature):
  splitting with regexp source string is obsolete.  a patch from
  Minwoo Lee at [ruby-core:23494].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-20 09:06:05 +00:00
yugui
972e0b2b31 merges r23549 from trunk into ruby_1_9_1.
--
* ext/dl/cptr.c (rb_dlptr_cmp): return signed value, and restrict
  to Fixnum.  [ruby-dev:38533]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-20 09:05:51 +00:00
yugui
d8b2502b59 merges r23444 from trunk into ruby_1_9_1.
--
* ext/dl/lib/dl/callback.rb (DL#remove_callback_internal): ignore
  unbound function.  [ruby-dev:38474]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-22 09:48:30 +00:00
yugui
6fac4c5f9f merges r23386 from trunk into ruby_1_9_1.
--
* ext/dl/lib/dl/func.rb (DL::Function#bound?): returns if already
  bound to a block.

* ext/dl/lib/dl/value.rb (DL::ValueUtil#wrap_arg): block must be
  given if arg is not bound.  [ruby-dev:38404]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-21 14:47:54 +00:00
yugui
a5892c1148 merges r23385 from trunk into ruby_1_9_1.
--
* ext/dl/cfunc.c (rb_dlcfunc_instance_p): new function to check if
  the argument is an instance of DL::CFunc.

* ext/dl/cptr.c (rb_dlptr_initialize, rb_dlptr_s_malloc): checks
  if DL::CFunc.  [ruby-dev:38403].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-21 14:47:47 +00:00
yugui
84de597303 merges r23382 from trunk into ruby_1_9_1.
--
* ext/dl/lib/dl/cparser.rb (DL::CParser#parse_signature): strips
  spaces.  based on a patch from Takashi Tamura in [ruby-dev:38398].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-21 14:47:38 +00:00
yugui
4600cf725a * ext/dl/dl.c (rb_dlhandle_initialize): prohibits DL::dlopen
with a tainted name of library.
  Patch by sheepman <sheepman AT sheepman.sakura.ne.jp>.

* ext/dl/dl.c (rb_dlhandle_sym): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-11 15:07:10 +00:00
yugui
7269e3de3c * ext/dl/lib/dl/func.rb (DL::Function#call): prevents
passing tainted arguments to a C function.
  Patch by sheepman <sheepman AT sheepman.sakura.ne.jp>.

* ext/dl/lib/dl/func.rb (DL::Function#check_safe_obj):
  new method for checking #call's arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-11 15:07:00 +00:00
yugui
45b4a72413 merges r22891 from trunk into ruby_1_9_1.
--
* ext/dl/handle.c (rb_dlhandle_sym): RTLD_NEXT is not for symbol
  name.   [ruby-dev:38150]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-12 14:03:03 +00:00
yugui
1eba61708c merges r22883 from trunk into ruby_1_9_1.
--
* ext/dl/handle.c (rb_dlhandle_sym): fixed heap corruption.
  [ruby-core:22822]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-12 14:02:54 +00:00
yugui
73716b9d2f merges r22702 from trunk into ruby_1_9_1.
--
* ext/dl/handle.c (rb_dlhandle_sym): get rid of buffer overrun,
  and try ASCII WINAPI versions too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 09:21:04 +00:00
yugui
63bec26639 merges r22695 from trunk into ruby_1_9_1.
--
* ext/dl/win32/lib/Win32API.rb (initialize): passes rest
  arguments to DL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 09:20:47 +00:00
yugui
375d08ea17 merges r22690 from trunk into ruby_1_9_1.
--
* ext/dl/cfunc.c (rb_dlcfunc_call): fix for stdcall and missing
  argument numbers.  [ruby-core:22601]

* ext/dl/dl.h (DLSTACK_PROTO0_): added.

* ext/dl/mkcallback.rb (gencallback, gen_callback_file),
  (rb_dl_init_callbacks): omit stdcall functions unless supported.

* lib/rubygems/config_file.rb (SHGetFolderPath): stdcall.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 09:20:22 +00:00
yugui
80ad668981 merges r21186 from trunk into ruby_1_9_1.
* ext/dl/test/test_import.rb: fix a prototype decl.
  pointed out by Takehiro Kubo [ruby-core:20971].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-30 11:05:14 +00:00
yugui
e8f6d84936 merges r21177 and r21182 from trunk into ruby_1_9_1.
* ext/dl/test/test_base.rb: add x86_64-linux's case again. #932
--
* ext/dl/test/test_base.rb: add libc search logic.
  this patch is written by Takehiro Kubo.
  [ruby-core:20963] [Bug #932]
* ext/dl/dl.h: Add ",..." as the last argument.
  this patch is written by Takehiro Kubo.
  Bug #633 [ruby-core:19289]
* ext/dl/lib/dl/stack.rb: add add_padding() to calculate
  alignment.  this patch is written by Takehiro Kubo.
  Bug #633 [ruby-core:19289]
* ext/dl/test/test_func.rb: atof()'s return value is double.
  this patch is written by Takehiro Kubo.
  Bug #633 [ruby-core:19289]
* ext/dl/test/test_import.rb:
  - atof()'s return value is double.
  - The types of qsort's second and third argument are size_t.
  - fprintf()'s return value is int.
  this patch is written by Takehiro Kubo.
  Bug #633 [ruby-core:19289]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-30 10:32:42 +00:00
yugui
2cd1b4412b merges r21139 from trunk into ruby_1_9_1.
* test/ext/dl/test_base.rb : add BSD's case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 07:18:55 +00:00
yugui
0278b58415 merges r21138 from trunk into ruby_1_9_1.
* ext/dl/lib/dl/import.rb (DL::Importer#sizeof): follows
  a feature change in 1.9.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 07:18:47 +00:00
yugui
b78fe145f3 merges r21110, r21111 and r21140 from trunk into ruby_1_9_1.
* ext/dl/test/test_dl2.rb: modify strncpy, strcpy, qsort, types.
	  Bug #633 [ruby-core:19289]
	* ext/dl/test/test_base.rb: /lib/libc.so is x86_64 binary in x86_64 architecture.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 07:18:15 +00:00
yugui
a90a01acee merges r21100 and r21107 from trunk into ruby_1_9_1.
* ext/dl/test/test_base.rb: use lib64 when the architecture is x86_64.
       * ext/dl/test/test_base.rb: use libc.dylib when the platform is
       darwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28 09:42:17 +00:00
yugui
3ac20b9590 * ext/dl/extconf.rb ($distcleanfiles): added callback-?.c into
the distclean list.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-03 15:49:39 +00:00
akr
91e5f7d51a * ext/dl/mkcallback.rb (rb_dl_init_callbacks): fix indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 03:56:30 +00:00
akr
3deee712f5 * ext/dl/mkcallback.rb: split callback.h to callback-[0-9].c to reduce
memory consumption on compilation.  [ruby-dev:31898]

* ext/dl/depend: add dependency for callback-[0-9].[co].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 16:55:34 +00:00
akr
f69c1c5eda * ext/dl/mkcallback.rb (foreach_proc_entry): extracted.
(gencallback): ditto.
  (gen_push_proc_ary): ditto.
  (gen_push_addr_ary): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 16:29:03 +00:00
akr
8eb12fc30e * ext/dl/test/test_import.rb: fix character code.
* ext/dl/test/test_func.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 14:39:21 +00:00
akr
86e45042cb * ext/dl/mkcallback.rb: fix continuation line detection.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 05:48:09 +00:00
akr
375dbe3c73 * ext/dl/mkcallback.rb (rb_dl_init_callbacks): avoid GC problem which
is caused by 'GC.stress=true; require "dl"'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 05:42:06 +00:00
nobu
3c1fca24e2 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): fixed shadowing variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-12 05:15:18 +00:00
matz
199a95775b * ext/dl/cfunc.c (rb_dlcfunc_call): add taint check.
* ext/dl/dl.c (rb_dl_malloc): add rb_secure(2).

* ext/dl/dl.c (rb_dl_realloc): ditto.

* ext/dl/dl.c (rb_dl_free): ditto.

* ext/dl/dl.c (rb_dl_ptr2value): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-11 11:33:44 +00:00
nobu
29b538fa71 * lib/resolv.rb (Resolv::Config.default_config_hash): requires
win32/resolv to use Win32::Resolv.  [ruby-dev:34138]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31 16:55:54 +00:00
nobu
439089327a * lib/resolv.rb (Resolv::Hosts): should not use win32/resolv on cygwin.
[ruby-dev:29945], [ruby-dev:34095]

* lib/win32/registry.rb (Win32::Registry.expand_environ): try upcased
  name too for cygwin.  [ruby-dev:29945]

* lib/win32/resolv.rb (Win32::Resolv.get_hosts_path): use expand_path.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-21 12:27:00 +00:00
usa
47aa40cd55 * ext/dl/depend: add dependencies. [ruby-dev:32760]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 07:35:47 +00:00
usa
2364c5e6e7 * dl/win32/lib/win32/sspi.rb: use pack/unpack("m") instead of base64
library which was already removed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 13:12:56 +00:00
usa
97a9e9da85 * ext/Win32API/*: removed or moved to ext/dl/win32.
* ext/dl/win32/*: new. [ruby-dev:32387]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-03 02:53:13 +00:00
ko1
25c0cb981a * include/ruby/ruby.h: introduce 2 macros:
RFLOAT_VALUE(v), DOUBLE2NUM(dbl).
  Rename RFloat#value -> RFloat#double_value.
  Do not touch RFloat#double_value directly.
* bignum.c, insns.def, marshal.c, math.c, numeric.c, object.c,
  pack.c, parse.y, process.c, random.c, sprintf.c, string.c,
  time.c: apply above changes.
* ext/dl/mkcallback.rb, ext/json/ext/generator/generator.c:
  ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13 16:00:53 +00:00
matz
7db17c6ad6 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): no longer check
HAVE_RB_IO_STDIO_FILE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-08 10:20:08 +00:00
matz
4b3644bef7 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): fptr->f was renamed to fd. a
report from Yusuf Celik <ycelik AT oytek.com.tr>.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-08 10:00:06 +00:00
nobu
cba32dcaa6 * ext/dl/cfunc.c (rb_dlcfunc_call): adjust format. [ruby-dev:31222]
* ext/digest/digest.c (rb_digest_instance_update,
  rb_digest_instance_finish, rb_digest_instance_reset,
  rb_digest_instance_block_length): %s in rb_raise() expects char*.
  [ruby-dev:31222]

* ext/openssl/ossl.h: include ossl_pkcs5.h.  [ruby-dev:31231]

* ext/openssl/ossl_pkcs5.h: new file for PKCS5.  [ruby-dev:31231]

* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()
  instead of rb_raise().  [ruby-dev:31222]

* ext/sdbm/_sdbm.c: DOSISH platforms need io.h.  [ruby-dev:31232]

* ext/syck/syck.h: include stdlib.h for malloc() and free().
  [ruby-dev:31232]

* ext/syck/syck.h (syck_parser_set_input_type): prototype added.
  [ruby-dev:31231]

* win32/win32.c: include mbstring.h for _mbspbrk().  [ruby-dev:31232]

* include/ruby/win32.h (rb_w32_getcwd): prototype added.
  [ruby-dev:31232]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 13:24:39 +00:00
nobu
2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
nobu
5b10c170e5 * file.c, gc.c, io.c, ruby.h, rubyio.h, win32/win32.h (rb_io_t):
renamed from OpenFile.

* ext/dl/cptr.c, ext/io/wait/wait.c, ext/openssl/ossl.h,
  ext/openssl/ossl_bio.c, ext/openssl/ossl_ssl.c, ext/pty/pty.c,
  ext/readline/readline.c, ext/socket/socket.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 10:30:50 +00:00
ko1
a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00
matz
41f3f0eb66 * parse.y (parser_warning, parser_warn): some error message may
contain format specifiers.  a patch from Akinori MUSHA <knu at
  iDaemons.org>.  [ruby-dev:29657]

* regparse.c (onig_rb_warning, onig_rb_warn): ditto.

* ext/bigdecimal/bigdecimal.c (VpException): ditto.

* ext/dl/handle.c (rb_dlhandle_initialize): ditto.

* ext/gdbm/gdbm.c (rb_gdbm_fatal): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-14 14:33:10 +00:00
matz
2156870525 * ruby.h (struct RArray): embed small arrays.
(RARRAY_LEN): defined for accessing array members.
  (RARRAY_PTR): ditto.

* array.c: use RARRAY_LEN and RARRAY_PTR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02 14:42:08 +00:00
usa
974037a542 * eval.c (search_required): use RSTRING_PTR and RSTRING_STR.
* object.c (nil_plus): ditto.

* ext/dl/cptr.c (rb_dlptr_s_to_ptr): ditto.

* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 12:10:08 +00:00
ttate
a5b2d039d1 should define FUNC_CDECL/STDCALL if the macros are not defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-07 14:19:41 +00:00
ttate
d01f22ec7c conformed to the usage of FUNC_CDECL/STDCALL described in [ruby-dev:28970].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-06 19:59:31 +00:00
matz
1564ed2f0a * bignum.c: ruby 1.9 HEAD 64 bit warnings clean up from
<ville.mattila at stonesoft.com>.   [ruby-core:08120]

* ChangeLog: remove some direct reference to mail addresses
  to prevent spams.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-03 20:07:10 +00:00
ttate
e587cf2730 fixed the alignment problems discussed in [ruby-dev:28667].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-30 18:05:40 +00:00
akr
934847fbeb add extconf.h to .cvsignore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-24 01:15:08 +00:00
aamine
469f1f7b49 * ext/dl/.cvsignore: ignore callback.h.
* ext/ripper/.cvsignore: ignore eventids2table.c.
* ext/socket/.cvsignore: ignore constants.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-03 05:41:53 +00:00
akr
04946de81b * mkconfig.rb: generate RbConfig instead of Config.
* instruby.rb, rubytest.rb, runruby.rb, bcc32/Makefile.sub,
  ext/extmk.rb, ext/dl/extconf.rb, ext/iconv/charset_alias.rb,
  lib/mkmf.rb, lib/rdoc/ri/ri_paths.rb,
  lib/webrick/httpservlet/cgihandler.rb,
  test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb,
  test/ruby/envutil.rb, test/soap/calc/test_calc_cgi.rb,
  test/soap/header/test_authheader_cgi.rb, test/soap/ssl/test_ssl.rb,
  win32/mkexports.rb, win32/resource.rb: Use RbConfig instead of
  Config.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-20 08:34:53 +00:00