Граф коммитов

4998 Коммитов

Автор SHA1 Сообщение Дата
akr 4264240759 * ext/readline/readline.c (insert_ignore_escape): Add a cast to
unsigned char * before dereference.
  This suppress a warning on Cygwin.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 13:15:13 +00:00
akr 593c24f87c * ext/socket/ancdata.c (bsock_recvmsg_internal): Add a cast to
suppress warning.
  Bionic defines socklen_t as int.
  Bionic defines msg_controllen as unsigned int (__kernel_size_t)
  instead of socklen_t as POSIX.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:19:52 +00:00
akr cb2f3c1b87 * ext/socket/ancdata.c (ancillary_inspect): Don't call
anc_inspect_ipv6_pktinfo if !HAVE_TYPE_STRUCT_IN6_PKTINFO.
  anc_inspect_ipv6_pktinfo is not defined in the case.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:14:47 +00:00
akr 2b792abd69 * ext/socket/socket.c (socket_s_ip_address_list): Cast EXTRA_SPACE as
int.  This suppress a warning.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:12:32 +00:00
akr 301821bd45 * ext/socket/extconf.rb: Set close_fds false for Cygwin.
Cygwin doesn't support fd passing.
  This enables socket extension library cross-compilable by default.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:10:46 +00:00
akr 9e08404b8a * ext/socket/socket.c (socket_s_ip_address_list): Fill sin6_scope_id
if getifaddrs() returns an IPv6 link local address which
  sin6_scope_id is zero, such as on OpenIndiana SunOS 5.11.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-06 11:51:07 +00:00
akr 86d4511fe6 * ext/socket/extconf.rb: Make default_ipv6 true for Cygwin.
Cygwin supports IPv6 since Cygwin 1.7.1 (2009-12).
  http://cygwin.com/ml/cygwin-announce/2009-12/msg00027.html



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 05:11:06 +00:00
nobu 8202d6266f {getaddrinfo,getnameinfo}.c: fix for old platforms
* ext/socket/{getaddrinfo,getnameinfo}.c: define socklen_t if not
  defined, e.g., older VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 04:35:37 +00:00
nobu f0a5e1fc3c curses/extconf.rb: simplify
* ext/curses/extconf.rb (curses_version): try once for each tests, a
  function or a variable.  fallback to variable for old SVR4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 07:48:06 +00:00
nobu 262669e6c6 extmk.rb: always dynamic non-install extensions
* ext/extmk.rb (extmake): extensions not to be installed should not
  make static libraries, but make dynamic libraries always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 07:17:53 +00:00
nobu 84c8319c8d ancdata.c: suppress warnings
* ext/socket/ancdata.c (bsock_sendmsg_internal): suppress warnings on
  platforms where msghdr does not have msg_control.

* ext/socket/ancdata.c (bsock_recvmsg_internal): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 04:43:00 +00:00
nagai df9991fe2b * ext/tk/MANUAL_tcltklib.ja, ext/tk/old-README.tcltklib.ja: rename from *.jp to *.ja
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-29 18:33:28 +00:00
nobu 6a8808011f * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-29 08:06:06 +00:00
naruse ecf017a9a0 * ext/nkf/nkf-utf8/nkf.h: Bionic libc doesn't have locale.
[Feature #8338]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-29 08:05:13 +00:00
nagai fb5d3a0afc * ext/tk/MANUAL_tcltklib.jp: rename from ext/tk/MANUAL_tcltklib.eucj [ruby-trunk - Bug #8084]
* ext/tk/old-README.tcltklib.jp: rename from ext/tk/old-README.tcltklib.eucj


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-29 00:20:56 +00:00
nobu 6fb5140dd6 ossl_bn.c: reduce alloca/malloc
* ext/openssl/ossl_bn.c (ossl_bn_initialize): no need of alloca for
  small fixed size array.
* ext/openssl/ossl_bn.c (ossl_bn_initialize): check overflow first,
  and use alloca for small size input.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 21:58:36 +00:00
shirosaki be4aa33037 ossl_bn.c: fix ossl_bn_initialize bug with integer
* ext/openssl/ossl_bn.c (ossl_bn_initialize): fix buffer overflow on
  x64 Windows and memory leak when initializing with integer.
  [ruby-core:54615] [Bug #8337]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 13:20:11 +00:00
zzak 7e70b8ac52 * ext/curses/curses.c: Update Curses::Window example for nicer output
Patch by Michal Suchanek [Bug #8121] [ruby-core:53520]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 23:30:11 +00:00
akr ef215077bc * ext/socket/extconf.rb: Redundant test removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 08:23:21 +00:00
akr fbbd7e29e7 * ext/socket/extconf.rb (test_recvmsg_with_msg_peek_creates_fds):
Extracted.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 07:00:26 +00:00
akr 56e982d447 * ext/socket/extconf.rb: Use a block of enable_config() for
--{enable,disable}-close-fds-by-recvmsg-with-peek configure option



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 09:42:14 +00:00
akr a36cd96c2a * ext/curses/extconf.rb: Test linkability of curses_version at first.
* ext/socket/extconf.rb: Test the behavior of fd passing with MSG_PEEK
  only if recvmsg(), msg_control member, AF_UNIX and SCM_RIGHTS are
  available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 03:43:19 +00:00
akr 5e9dc52be5 * ext/curses/extconf.rb: Implement
--with-curses-version={function,variable} configure option for
  cross-compiling.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 14:17:33 +00:00
akr a0fa43b094 * ext/socket/extconf.rb: Don't use WIDE getaddrinfo by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 09:17:54 +00:00
akr 0ff2e1d531 * ext/socket/extconf.rb: Remove obsolete options: ---with-ipv6-lib and
--with-ipv6-libdir.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 08:57:15 +00:00
akr 79b807118f * ext/socket/extconf.rb: Implement
--{enable,disable}-close-fds-by-recvmsg-with-peek configure option
  for cross-compiling.
  Make --{enable,disable}-wide-getaddrinfo configure option
  cross-compiling friendly.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 08:45:58 +00:00
nobu adb492406c ext/openssl/ossl_bn.c: fix implicit conversion
* ext/openssl/ossl_bn.c (ossl_bn_initialize): fix precision loss by
  implicit conversion.

* ext/openssl/ossl_bn.c (ossl_bn_initialize): check Bignum overflow.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 07:57:17 +00:00
naruse 8b29525dad * ext/openssl/ossl_bn.c (ossl_bn_initialize): allow Fixnum and Bignum.
[ruby-core:53986] [Feature #8217]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 07:02:31 +00:00
akr ed33fcae5a * ext/socket/extconf.rb: Extract C programs as toplevel constants.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 03:03:59 +00:00
zzak c262fda9eb Typo by @windwiny [Fixes GH-295]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 05:01:59 +00:00
zzak 360843ef75 * ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 03:55:02 +00:00
akr 80e4d412d3 * ext/socket/rubysocket.h (SOCKLEN_MAX): Expression simplified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-17 13:08:13 +00:00
akr ce6db8f286 * ext/socket/rubysocket.h (SOCKLEN_MAX): Defined.
* ext/socket/raddrinfo.c (ext/socket/raddrinfo.c): Reject too long
  Linux abstract socket name.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-17 11:01:17 +00:00
akr a294d45808 * ext/socket/unixsocket.c (unix_send_io): Suppress a warning by clang.
(unix_recv_io): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-16 14:07:50 +00:00
zzak 45b3c3ac39 * ext/sdbm/init.c: Fix comment indentation, by windwiny [Fixes GH-277]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-16 03:28:19 +00:00
zzak 3a7a773aeb * ext/socket/option.c: Document synonymous methods, by windwiny [GH-277]
* ext/stringio/stringio.c: ditto
* ext/io/wait/wait.c: ditto
* ext/gdbm/gdbm.c: ditto
* ext/dl/cfunc.c: ditto
* ext/zlib/zlib.c: ditto
* ext/win32ole/win32ole.c: ditto
* ext/dbm/dbm.c: ditto
* ext/json/generator/generator.c: ditto
* ext/date/date_core.c: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-16 03:25:50 +00:00
hsbt bbf0ea6bfb fixed wrong value by @taksatou [fix GH-287]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-16 02:31:55 +00:00
zzak a152c41e53 * ext/openssl/*: Document synonymous methods, by windwiny [GH-277]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-16 02:24:09 +00:00
akr 582ba0a57c * ext/fiddle/depend: New file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-15 13:22:20 +00:00
emboss d6b1ab91dc * ext/openssl/ossl_ssl.c: Correct shutdown behavior w.r.t GC.
* test/openssl/test_ssl.rb: Add tests to verify correct behavior.  

[Bug #8240] Patch provided by Shugo Maeda. Thanks!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-15 02:04:07 +00:00
naruse e4f6efcc4a * ext/coverage/depend: fix id.h place as r40283.
* ext/coverage/extconf.rb: add topdir and topsrcdir to VPATH.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-15 01:24:37 +00:00
akr 788b45da3e * ext/-test-/debug/depend: New file.
* ext/-test-/exception/depend: Ditto.

* ext/-test-/printf/depend: Ditto.

* ext/-test-/string/depend: Ditto.

* ext/coverage/depend: Ditto.

* ext/io/console/depend: Ditto.

* ext/io/nonblock/depend: Ditto.

* ext/io/wait/depend: Ditto.

* ext/openssl/depend: Ditto.

* ext/pathname/depend: Ditto.

* ext/psych/depend: Ditto.

* ext/zlib/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-14 10:48:08 +00:00
naruse 34f5700a09 * lib/mkmf.rb (MakeMakefile#create_makefile): remove {$(VPATH)} other
than nmke.

* ext/ripper/depend: use VPATH expecting removed by above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 18:00:25 +00:00
usa b77d1a4f34 * lib/mkmf.rb (MakeMakefile#create_makefile): output new macro
disthdrdir to specify the path of id.h, parse.h and etc.

* ext/ripper/depend: use above macro.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 12:14:37 +00:00
naruse f9ba0dcaa4 fix building ripper: parse.h and id.h doesn't need directory
r40275 breaks Unix build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 11:44:05 +00:00
usa 0869d460ba * ext/ripper/depend: parse.h and id.h may be created on topdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 09:57:02 +00:00
nobu 4123b0d9db ripper/depend: fix out-of-place build
* ext/ripper/depend (ripper.o): fix out-of-place build.  probes.h
  depends on the platform, so it cannot be in $(top_srcdir).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 02:33:58 +00:00
akr b47138580c * lib/mkmf.rb: Add ruby/ruby.h, ruby/missing.h, ruby/intern.h,
ruby/st.h and ruby/subst.h for ruby_headers in generated Makefile.

* ext/-test-/old_thread_select/depend: Update dependencies.

* ext/-test-/wait_for_single_fd/depend: Ditto.

* ext/bigdecimal/depend: Ditto.

* ext/curses/depend: Ditto.

* ext/digest/bubblebabble/depend: Ditto.

* ext/digest/depend: Ditto.

* ext/digest/md5/depend: Ditto.

* ext/digest/rmd160/depend: Ditto.

* ext/digest/sha1/depend: Ditto.

* ext/digest/sha2/depend: Ditto.

* ext/dl/callback/depend: Ditto.

* ext/dl/depend: Ditto.

* ext/etc/depend: Ditto.

* ext/nkf/depend: Ditto.

* ext/objspace/depend: Ditto.

* ext/pty/depend: Ditto.

* ext/readline/depend: Ditto.

* ext/ripper/depend: Ditto.

* ext/sdbm/depend: Ditto.

* ext/socket/depend: Ditto.

* ext/stringio/depend: Ditto.

* ext/strscan/depend: Ditto.

* ext/syslog/depend: Ditto.

* ext/-test-/num2int/depend: Removed.

* ext/dbm/depend: Ditto.

* ext/fcntl/depend: Ditto.

* ext/gdbm/depend: Ditto.

* ext/racc/cparse/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 00:46:29 +00:00
nobu 6e9c02515d * ext/etc/etc.c: fix struct name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-12 15:23:22 +00:00
nobu 1e4b2f9bd1 etc.c: Etc namespace
* ext/etc/etc.c (Init_etc): move Passwd and Group under Etc namespace
  as primary names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-12 15:16:00 +00:00
naruse 89bda514c2 Fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 15:52:41 +00:00
naruse cddd37aae2 * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 on
Mac OS X and Linux [Bug #3371]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 07:10:39 +00:00
naruse c0e0a684d7 * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): add missing case:
RUBY_LIBFFI_MODVERSION is not defined (usually on Windows).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 01:40:11 +00:00
naruse a0f7f29215 * ext/fiddle/extconf.rb: define RUBY_LIBFFI_MODVERSION macro.
* ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 or 1
  with platform and libffi's version. [Bug #3371]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-10 21:15:37 +00:00
naruse 2570f838da * ext/fiddle/closure.c (initialize): check mprotect's return value.
If mprotect is failed because of PaX or something, its function call
  will cause SEGV.
  http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20130401T210301Z.diff.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-10 18:35:21 +00:00
akr 3f9e0e43c3 * ext/bigdecimal/bigdecimal.c (VpCtoV): Initialize a local variable
even when overflow.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-10 08:39:53 +00:00
akr fa9b5bf223 * bignum.c (rb_ll2big): Don't overflow on signed integer negation.
* ext/bigdecimal/bigdecimal.c (MUL_OVERFLOW_SIGNED_VALUE_P): New
  macro.
  (AddExponent): Don't overflow on signed integer multiplication.
  (VpCtoV): Don't overflow on signed integer arithmetic.
  (VpCtoV): Don't overflow on signed integer arithmetic.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-10 03:34:38 +00:00
nobu fa93be2f05 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 20:27:01 +00:00
headius 0626d9b91c Fix #6154 by introducing new EAGAIN/EWOULDBLOCK/EINPROGRESS
subclasses that include WaitReadable or WaitWritable rather than
extending them into the exception object each time.

* error.c: Capture EGAIN, EWOULDBLOCK, EINPROGRESS exceptions and
  export them for use in WaitReadable/Writable exceptions.
* io.c: Create versions of EAGAIN, EWOULDBLOCK, EINPROGRESS that
  include WaitReadable and WaitWritable. Add rb_readwrite_sys_fail
  for nonblocking failures using those exceptions. Use that
  function in io_getpartial and io_write_nonblock instead of
  rb_mod_sys_fail
* ext/openssl/ossl_ssl.c: Add new SSLError subclasses that include
  WaitReadable and WaitWritable. Use those classes for
  write_would_block and read_would_block instead of rb_mod_sys_fail.
* ext/socket/ancdata.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in bsock_sendmsg_internal and
  bsock_recvmsg_internal.
* ext/socket/init.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in rsock_s_recvfrom_nonblock and
  rsock_s_connect_nonblock.
* ext/socket/socket.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in sock_connect_nonblock.
* include/ruby/ruby.h: Export rb_readwrite_sys_fail for use instead
  of rb_mod_sys_fail. Introduce new constants RB_IO_WAIT_READABLE and
  RB_IO_WAIT_WRITABLE for first arg to rb_readwrite_sys_fail.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 19:58:55 +00:00
nobu 53fdb9e190 socket/extconf.rb: add -D
* ext/socket/extconf.rb: $defs needs -D or -U.  nothing is added
  otherwize.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 17:44:35 +00:00
nobu f12df1a752 socket/extconf.rb: check struct in_addr6
* ext/socket/extconf.rb: check struct in_addr6, which is defined in
  VC6 instead of in6_addr.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 17:42:48 +00:00
nobu 99ad10df32 option.c: fix macro name
* ext/socket/option.c (optname_to_sym): fix macro name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 17:40:58 +00:00
nobu 65adadedcd constants.c: fix macro name
* ext/socket/constants.c (rsock_cmsg_type_arg): fix macro name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 15:28:43 +00:00
nobu 311960cdaf win32ole.c: check arity
* ext/win32ole/win32ole.c (fole_missing): should check actual argument
  count before accessing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 08:19:32 +00:00
akr d818a6ab40 * ext/socket/socket.c (rsock_sys_fail_raddrinfo): Renamed from
rsock_sys_fail_addrinfo.
  (rsock_sys_fail_raddrinfo_or_sockaddr): Renamed from
  rsock_sys_fail_addrinfo_or_sockaddr.

* ext/socket/rubysocket.h: Follow the above change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 11:21:05 +00:00
akr 67fe038d8f * ext/socket/socket.c (rsock_sys_fail_sockaddr): Takes struct sockaddr
and socklen_t instead of String object.
  (rsock_sys_fail_addrinfo_or_sockaddr): Follow the above change.

* ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow the above
  change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 11:04:45 +00:00
nobu c7135ddd2d socket/extconf.rb: RSTRING_SOCKLEN
* ext/socket/extconf.rb (RSTRING_SOCKLEN): macro to cast RSTRING_LEN
  to socklen_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 07:58:51 +00:00
nobu 7e4a95cd06 socket.c: suppress warnings
* ext/socket/socket.c (rsock_sys_fail_sockaddr): cast down explicitly
  to suppress warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 07:58:47 +00:00
akr cb302bf351 * ext/socket/rubysocket.h (SockAddrStringValueWithAddrinfo): New macro.
(rsock_sockaddr_string_value_with_addrinfo): New declaration.
  (rsock_addrinfo_inspect_sockaddr): Ditto.
  (rsock_sys_fail_addrinfo): Ditto.
  (rsock_sys_fail_sockaddr_or_addrinfo): Ditto.

* ext/socket/raddrinfo.c (rsock_addrinfo_inspect_sockaddr): Renamed
  from addrinfo_inspect_sockaddr and exported.
  (rsock_sockaddr_string_value_with_addrinfo): New function to obtain
  string and possibly addrinfo object.

* ext/socket/socket.c (rsock_sys_fail_sockaddr): Don't use
  rsock_sys_fail_host_port which is IP dependent.  Invoke
  rsock_sys_fail_addrinfo.
  (rsock_sys_fail_addrinfo): New function using
  rsock_addrinfo_inspect_sockaddr.
  (rsock_sys_fail_addrinfo_or_sockaddr): New function.
  (sock_connect): Use SockAddrStringValueWithAddrinfo and
  rsock_sys_fail_addrinfo_or_sockaddr.
  (sock_connect_nonblock): Ditto.
  (sock_bind): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 05:50:42 +00:00
akr b1fd376cbf * ext/socket/socket.c (rsock_sys_fail_sockaddr): Delete 2nd argument.
* ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow above
  change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 04:35:29 +00:00
akr 8c6c73745e * ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect only
for String to avoid SEGV.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 04:14:57 +00:00
akr 24ee6971cc * ext/socket/rubysocket.h (rsock_sys_fail_host_port) Wrap by NORETURN.
(rsock_sys_fail_path): Ditto.
  (rsock_sys_fail_sockaddr): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 03:41:01 +00:00
akr 11a9d77286 * ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect if the
path contains a NUL.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 02:50:08 +00:00
akr d933fb2296 * ext/socket: Improve socket exception message to show socket address.
[ruby-core:45617] [Feature #6583] proposed Eric Hodel.

* ext/socket/rubysocket.h (rsock_sys_fail_host_port): Declared.
  (rsock_sys_fail_path): Ditto.
  (rsock_sys_fail_sockaddr): Ditto.

* ext/socket/udpsocket.c (udp_connect): Use rsock_sys_fail_host_port.
  (udp_bind): Ditto.
  (udp_send): Ditto.

* ext/socket/init.c (rsock_init_sock): Specify a string for rb_sys_fail
  argument.
  (make_fd_nonblock): Ditto.
  (rsock_s_accept): Ditto.

* ext/socket/ipsocket.c (init_inetsock_internal): Use
  rsock_sys_fail_host_port.

* ext/socket/socket.c (rsock_sys_fail_host_port): Defined.
  (rsock_sys_fail_path): Ditto.
  (rsock_sys_fail_sockaddr): Ditto.
  (setup_domain_and_type): Use rsock_sys_fail_sockaddr.
  (sock_connect_nonblock): Ditto.
  (sock_bind): Ditto.
  (sock_gethostname): Specify a string for rb_sys_fail argument.
  (socket_s_ip_address_list): Ditto.

* ext/socket/basicsocket.c (bsock_shutdown): Specify a string for
  rb_sys_fail argument.
  (bsock_setsockopt): Use rsock_sys_fail_path.
  (bsock_getsockopt): Ditto.
  (bsock_getpeereid): Refine the argument for rb_sys_fail.

* ext/socket/unixsocket.c (rsock_init_unixsock): Use
  rsock_sys_fail_path.
  (unix_path): Ditto.
  (unix_send_io): Ditto.
  (unix_recv_io): Ditto.
  (unix_addr): Ditto.
  (unix_peeraddr): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 02:39:44 +00:00
tenderlove 2a58706e2d * ext/psych/lib/psych/visitors/yaml_tree.rb: fix symbol keys in coder
emission.  Thanks @tjwallace
* test/psych/test_coder.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 18:12:52 +00:00
tenderlove 476a62fbbe * ext/psych/lib/psych/exception.rb: there should be only one exception
base class. Fixes tenderlove/psych #125
* ext/psych/lib/psych.rb: require the correct exception class
* ext/psych/lib/psych/syntax_error.rb: ditto
* ext/psych/lib/psych/visitors/to_ruby.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 17:55:53 +00:00
tenderlove 7a7bb64464 * ext/psych/lib/psych/visitors/to_ruby.rb: correctly register
self-referential strings. Fixes tenderlove/psych #135

* test/psych/test_string.rb: appropriate test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 17:11:21 +00:00
akr fbb29bc08c * ext/socket/init.c (cloexec_accept): Fix a compile error on
Debian GNU/kFreeBSD.  Consider HAVE_ACCEPT4 is defined
  but SOCK_CLOEXEC is not defined.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 16:40:36 +00:00
nobu c3f2cc5335 ext/-test-/win32/dln: remove static library
* ext/-test-/win32/dln/extconf.rb: remove static library too at clean.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 07:46:29 +00:00
nobu d0536f6514 dl/dl.h: suppress warning
* ext/dl/dl.h (dlopen): suppress unused-but-set-variable warning.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 07:46:26 +00:00
nobu e3b9ed7649 curses.c: fix function
* ext/curses/curses.c (Init_curses): fix implementation function,
  crmode should be same as cbreak.  [ruby-core:54013] [Bug #8222]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 04:23:05 +00:00
zzak b0446f37a6 * ext/curses/hello.rb: Typo in Curses example by Drew Blas
[Fixes GH-273]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 03:10:14 +00:00
akr b2a1339f24 * ext/socket/extconf.rb: Remove condition for bcc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 14:25:19 +00:00
akr c3d1fde2b5 * ext/pathname/pathname.c (path_write): New method.
(path_binwrite): Ditto.
  [ruby-core:49468] [Feature #7378]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 11:12:12 +00:00
naruse 106595827a * ext/openssl/ossl_bn.c (ossl_bn_to_i): Use bn2hex to speed up.
In general, binary to/from decimal needs extra cost.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 02:35:07 +00:00
akr da39199964 * ext/socket/extconf.rb: Specify arguments to test functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 22:24:57 +00:00
naruse 7b58445ebd * ext/openssl/ossl_bn.c (ossl_bn_initialize): fix can't create from bn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 18:28:56 +00:00
akr 7181490def * ext/socket/extconf.rb: Test functions and libraries after headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 13:10:04 +00:00
akr ee2b218293 * ext/extmk.rb (extmake): Invoke Logging::log_close in a ensure
clause.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 11:28:10 +00:00
akr 1d339ff212 * ext/extmk.rb (extmake): Use Logging.open to switch stdout and
stderr.  Delay Logging::log_close until the failure message is
  written.  Write the failure message only if log file is opened.

* lib/mkmf.rb (Logging.log_opened?): New method.

  [ruby-dev:47215] [Bug #8209]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 10:00:49 +00:00
nobu b30a6b8d1d bignum.c: Bignum zero comparison
* bignum.c (rb_big_eq): test as Fixnum if possible and get rid of zero
  length Bignum.  [ruby-core:53893] [Bug #8204]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 07:34:31 +00:00
akr 6d0c59f156 * ext/-test-/num2int/num2int.c: Define utility methods
as module methods of Num2int.

* test/-ext-/num2int/test_num2int.rb: Follow the above change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 10:26:02 +00:00
akr d40335aa36 * ext/-test-/num2int/num2int.c: Rename utility methods
to global functions to ease manual experiments.

* test/-ext-/num2int/test_num2int.rb: Follow the above change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 21:49:55 +00:00
akr 87877eb04f * ext/zlib/zlib.c (rb_gzfile_set_mtime): Use NUM2UINT.
The old logic doesn't work well on LP64 platforms as:
  .. -2**63-1 => error,
  -2**63 .. -2**62-1 => success,
  -2**62 .. -2**31-1 => error,
  -2**31 .. 2**31-1 => success,
  2**31 .. 2**62-1 => error,
  2**62 .. 2**64-1 => success,
  2**64 ..  => error.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 13:34:52 +00:00
eregon f4eeca1d16 * ext/zlib/zlib.c (Zlib::Inflate.new):
Fix documentation syntax and naming errors.
  Based on patch by Robin Dupret. Fix GH-271.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 13:08:28 +00:00
akr 0cbe2f4902 * ext/-test-/num2int/num2int.c: Return string for result, instead of
printing.

* test/-ext-/num2int/test_num2int.rb: updated to follow above change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 11:58:55 +00:00
nobu 3eb4b0aa06 sha2.c: suppress warnings
* ext/digest/sha2/sha2.c (SHA256_Final, SHA512_Last): suppress
  strict-aliasing warnings on gcc 4.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 09:39:19 +00:00
akr a7526797a6 * include/ruby/ruby.h (FIX2ULONG): Make it consistent with NUM2ULONG.
* ext/-test-/num2int/num2int.c: Add utility methods for FIX2XXX tests.

* test/-ext-/num2int/test_num2int.rb: Add tests for FIX2XXX.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 16:14:15 +00:00
hsbt 0cfc4866d4 code cleanup by @vipulnsward [GH fixes #267]
* lib/cgi/core.rb: change each to each_value
 * ext/bigdecimal/lib/bigdecimal/{jacobian,math}.rb:
   remove unused variables from bigdecimal lib



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-29 00:42:32 +00:00
nobu f25e55cb87 tcltklib.c: rb_thread_alive_p macro
* ext/tk/tcltklib.c (rb_thread_alive_p): turn into a macro, so that
  same code is generated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-28 13:11:00 +00:00
nobu bb6a7778fe tcltklib.c: suppress warnings
* ext/tk/tcltklib.c (lib_eventloop_core, lib_thread_callback),
  (ip_rbUpdateCommand, ip_rb_threadUpdateCommand, lib_toUTF8_core),
  (ip_invoke_core): remove unused variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-28 04:50:15 +00:00
nobu 78598ebf51 ext/tk/tcltklib.c: adjust nesting
* ext/tk/extconf.rb: check for rb_thread_alive_p and
  rb_thread_check_trap_pending.

* ext/tk/tcltklib.c (rb_thread_alive_p, rb_thread_check_trap_pending):
  define substitutions if not available.

* ext/tk/tcltklib.c (lib_eventloop_core, lib_eventloop_ensure),
  (lib_thread_callback, ip_rbUpdateCommand, ip_rbVwaitCommand),
  (ip_rbTkWaitCommand, call_queue_handler, eval_queue_handler),
  (invoke_queue_handler): adjust nesting.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-28 04:50:12 +00:00
akr 7371736e49 * ext/socket/socket.c (sockaddr_len): return the shortest length for
unknown socket address.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-26 14:34:20 +00:00
naruse 20219afd83 Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-23 19:50:47 +00:00
mrkn bc43842252 * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Use Qnil and NIL_P
instead of (VALUE)0 as a return value.

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

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

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-23 14:30:56 +00:00
mrkn e52a4a70a9 * ext/bigdecimal/bigdecimal.c: Fix style.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-22 01:38:55 +00:00
kazu 7e052c7b81 use rb_pid_t instead of pid_t.
* process.c (rb_execarg_addopt, run_exec_pgroup): use rb_pid_t
  instead of pid_t.

* ext/pty/pty.c (raise_from_check, pty_check): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-21 16:11:32 +00:00
zzak 5d402803ee * ext/date/date_core.c: Typo in Date::MONTHNAMES by Matt Gauger
[GH fixes #261]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-20 22:35:38 +00:00
ayumin 49636da490 * ext/bigdecimal/bigdecimal.c: fixed typo. same as r39830
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-19 19:23:15 +00:00
ayumin 6f072a36c0 * ext/bigdecimal/bigdecimal.c: fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-19 19:19:46 +00:00
sorah 3ee89c6277 * ext/objspace/objspace.c: Fix typo in doc. Patch by Sho Hashimoto.
[Bug #8116] [ruby-dev:47177]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-19 01:09:46 +00:00
kosaki 326dd6e0cc * ext/date/date_core.c: include sys/time.h for avoiding implicit
declaration of gettimeofday().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 17:40:16 +00:00
nobu 4002be60c0 console.c: supppress warnings
* ext/io/console/console.c (console_iflush, console_oflush): supppress
  unused-but-set-variable warnings on no tcflush.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 08:05:45 +00:00
kosaki 798ff850e4 * configure.in: check struct timeval exist or not.
* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
  properly. and don't include sys/time.h if struct timeval exist.

* file.c: include sys/time.h explicitly.
* random.c: ditto.
* thread_pthread.c: ditto.
* time.c: ditto.
* ext/date/date_strftime.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 05:06:47 +00:00
nobu a7e5f0b5ee internal.h: export rb_sys_fail_path_with_func
* internal.h (rb_sys_fail_path_with_func): export for
  socket/basicsocket.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-15 06:08:13 +00:00
akr ca4397ad2c update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 03:49:30 +00:00
kazu b1f2460f8d fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-13 10:50:21 +00:00
takano32 976a3041ef * date_core.c: clearly specify operator precedence.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-12 08:05:16 +00:00
zzak 7d183dab15 * ext/pathname/pathname.c (path_f_pathname): rdoc for Pathname()
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-08 04:21:43 +00:00
kazu dbec401c11 use INT2FIX(0) instead of INT2NUM(0).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-05 16:31:19 +00:00
nobu b4a117f8d3 objspace.c: newly added nodes
* ext/objspace/objspace.c (count_nodes): count also newly added nodes,
  and fix key for unknown node.  patch by tmm1 (Aman Gupta) in
  [ruby-core:53130] [Bug #8014]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-05 01:40:52 +00:00
zzak 2a5b45ddc5 * ext/socket/tcpserver.c: Grammar for TCPServer.new from r39554
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-02 22:34:29 +00:00
akr fa0630558f update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-02 15:01:44 +00:00
zzak 6213b8370c * lib/psych.rb: specify in rdoc what object is returned in parser
By Adam Stankiewicz [Github tenderlove/psych#133]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-01 00:18:50 +00:00
zzak 9460a750e1 * ext/psych/lib/psych.rb: rdoc for Psych overview by Adam Stankiewicz
[Github tenderlove/psych#134]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-28 18:27:00 +00:00
akr 338ec3cee7 * ext/socket/raddrinfo.c (inspect_sockaddr): don't show that Unix
domain socket filename is bigger than sizeof(sun_path).
  This limit is not rigid on some platforms such as Darwin and SunOS.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-28 13:29:55 +00:00
akr bf96ea6362 * ext/socket/rubysocket.h (union_sockaddr): make it longer for SunOS
and Darwin.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-27 13:55:19 +00:00
nobu e05392ea77 * ext/Setup.nt: this file has not been used by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 15:54:00 +00:00
nobu 5919370363 configure.in: find Setup file automatically
* configure.in (setup): find Setup file from target_os 1. by
  suffix (e.g. Setup.nacl, Setup.atheos), 2. by "platform"
  option (e.g. Setup.nt, Setup.emx), and 3. default Setup.  And
  Setup.dj had been removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 04:12:45 +00:00
akr 1580dd29dd * ext/socket/extconf.rb: don't test ss_family and ss_len member of
struct sockaddr_storage.  They are not used now except SunOS
  specific code.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 03:40:16 +00:00
akr c89844dbc5 * ext/socket: define and use union_sockaddr instead of struct
sockaddr_storage for less casts.

* ext/socket/rubysocket.h (union_sockaddr): defined.

* ext/socket/socket.c (sock_accept): use union_sockaddr.
  (sock_accept_nonblock): ditto.
  (sock_sysaccept): ditto.
  (sock_s_getnameinfo): ditto.

* ext/socket/basicsocket.c (bsock_getsockname): ditto.
  (bsock_getpeername): ditto.
  (bsock_local_address): ditto.
  (bsock_remote_address): ditto.

* ext/socket/ancdata.c (bsock_recvmsg_internal): ditto.

* ext/socket/init.c (recvfrom_arg): ditto.
  (recvfrom_blocking): ditto.
  (rsock_s_recvfrom): ditto.
  (rsock_s_recvfrom_nonblock): ditto.
  (rsock_getfamily): ditto.

* ext/socket/raddrinfo.c (rb_addrinfo_t): ditto.
  (ai_get_afamily): ditto.
  (inspect_sockaddr): ditto.
  (addrinfo_mdump): ditto.
  (addrinfo_mload): ditto.
  (addrinfo_getnameinfo): ditto.
  (addrinfo_ip_port): ditto.
  (extract_in_addr): ditto.
  (addrinfo_ipv6_to_ipv4): ditto.
  (addrinfo_unix_path): ditto.

* ext/socket/tcpserver.c (tcp_accept): ditto.
  (tcp_accept_nonblock): ditto.
  (tcp_sysaccept): ditto.

* ext/socket/ipsocket.c (ip_addr): ditto.
  (ip_peeraddr): ditto.
  (ip_s_getaddress): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-24 17:51:17 +00:00
tadf 66f9135726 * ext/date/date_core.c: [ruby-core:52303]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-24 12:16:07 +00:00
naruse e525bcd1b3 Add test for [Backport #7896] [ruby-core:52607]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 08:31:47 +00:00
nobu 9041f262e0 extmk.rb: extract SUBMAKEOPTS
* ext/extmk.rb (SUBMAKEOPTS): extract common sub make options.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 12:06:13 +00:00
nobu ffdb70a696 extmk.rb: rename variables
* ext/extmk.rb: rename working variables as more descriptive so no
  shadowing local variable warnings, and remove unused variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 12:06:10 +00:00
zzak 206d1c8907 * ext/pty/pty.c: Documentation for the PTY module
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 04:37:35 +00:00
mrkn c42cf83f26 * ext/bigdecimal/bigdecimal.gemspec: bump to 1.2.0.
[ruby-core:51777] [Bug #7761]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-19 11:50:48 +00:00
knu e38972354a Remove Syslog#inspect and have only Syslog.inspect.
* ext/syslog/syslog.c (Init_syslog): Define inspect as a singleton
  method and remove it as an instance method. [Bug #6502]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-19 04:13:57 +00:00
drbrain 2163738ffb * ext/openssl/ossl.c (class OpenSSL): Use only inner parenthesis in
create_extension examples.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-19 01:36:30 +00:00
drbrain b043b0592b * ext/openssl/ossl.c (class OpenSSL): Fixed ExtensionFactory example.
Patch by Richard Bradley.  [ruby-trunk - Bug #7551]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-19 01:27:33 +00:00
zzak e39caa7550 * ext/psych/lib/psych/y.rb: Document Kernel#y by Adam Stankiewicz
[Github tenderlove/psych#118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 16:19:46 +00:00
akr 75a5be3717 * ext/socket/ancdata.c (rsock_recvmsg): ignore truncated part of
socket address returned from recvmsg().

* ext/socket/init.c (recvfrom_blocking): ignore truncated part of
  socket address returned from recvfrom().
  (rsock_s_recvfrom_nonblock): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 11:44:42 +00:00
nobu 78b50f26dc io/console: 0.4.2
* ext/io/console/io-console.gemspec: bump to 0.4.2.  now explicitly
  requires ruby 1.9.3 or later.  [Bug #7847]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 04:13:07 +00:00
nobu 923b8c4eda io/console: set HAVE_RB_SCAN_ARGS_OPTIONAL_HASH
* ext/io/console/extconf.rb: obtain optional hash by rb_scan_args() by
  default right now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 04:00:33 +00:00
nobu 2a62ca666c io/console: fix configuration failure
* ext/io/console/extconf.rb: fix configuration failure by missing
  cpp_include.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 03:58:04 +00:00
nobu 6ba2001d72 io/console: compatibility with 1.8
* ext/io/console/console.c (console_dev): compatibility with ruby 1.8.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 03:47:21 +00:00
nobu 44c24d4416 io/console: compatibility with 1.9
* ext/io/console/console.c (rawmode_opt, console_dev): compatibility
  with ruby 1.9.  [ruby-core:52220] [Bug #7847]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 03:46:34 +00:00
akr 733d65df5e * ext/socket/extconf.rb: don't test sys/feature_tests.h which is not
used now.
  It was included in r7901 as "bug of gcc 3.0 on Solaris 8 ?".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 00:59:24 +00:00
akr 4b5b88ec79 * ext/socket/extconf.rb: reorder header tests to consider inclusion
order in rubysocket.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 00:25:54 +00:00
akr d6d0e85320 * configure.in, ext/socket/extconf.rb: test netinet/in_systm.h in
ext/socket/extconf.rb instead of configure.in.

  Originally, netinet/in_systm.h is included for NextStep, OpenStep,
  and Rhapsody.  [ruby-core:1596]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 23:46:44 +00:00
akr 899ba99b90 * configure.in: don't test xti.h here.
* ext/socket/extconf.rb: test xti.h here.

  Originally, xti.h is included for IRIX [ruby-core:14447].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 22:59:40 +00:00
akr 35f8072e5c preprocessor directives indented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 22:53:59 +00:00
akr cb31e78379 * ext/socket/extconf.rb: test struct sockaddr_un and its member,
sun_len.

* ext/socket/sockport.h (INIT_SOCKADDR_UN): new macro defined.

* ext/socket/socket.c (sock_s_pack_sockaddr_un): use INIT_SOCKADDR_UN.

* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.

* ext/socket/raddrinfo.c (init_unix_addrinfo): ditto.
  (addrinfo_mload): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 22:19:05 +00:00
akr 84a525bc4e * ext/socket/sockport.h (INIT_SOCKADDR_IN): don't need family
argument.  it is always AF_INET.

* ext/socket/raddrinfo.c (make_inetaddr): follow INIT_SOCKADDR_IN
  change.
  (addrinfo_ipv6_to_ipv4): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 22:08:25 +00:00
usa cd63b84ce9 * ext/socket/extconf.rb: workaround for mswin/mingw build problem.
sendmsg emulation in win32/win32.c is not enough.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 19:23:50 +00:00
akr 41b2a6f01b * ext/socket/extconf.rb: use all all tested available headers for
have_func.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 15:20:34 +00:00
akr e41b789c99 * ext/socket/sockport.h (SET_SIN_LEN): defined for strict-aliasing
rule.
  (INIT_SOCKADDR_IN): ditto.

* ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR_IN.
  (addrinfo_ipv6_to_ipv4): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 11:30:19 +00:00
nobu 66c1e7960c socket: ai_addrlen is socklen_t
* ext/socket/raddrinfo.c (rsock_make_hostent): ai_addrlen is not
  size_t but socklen_t.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 07:54:38 +00:00
akr a60e2e5820 * ext/socket/extconf.rb: test struct sockaddr_storage directly.
* ext/socket/rubysocket.h: use HAVE_TYPE_STRUCT_SOCKADDR_STORAGE.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 03:36:05 +00:00
akr 0cc9cea3b4 * ext/socket/getaddrinfo.c (GET_AI): don't cast 1st argument for
INIT_SOCKADDR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 03:27:05 +00:00
akr 1ff7108306 * ext/socket/sockport.h (SET_SS_LEN): removed.
(SET_SIN_LEN): removed.
  (INIT_SOCKADDR): new macro.

* ext/socket/ancdata.c (extract_ipv6_pktinfo): use INIT_SOCKADDR.

* ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR.
  (addrinfo_ipv6_to_ipv4): ditto.

* ext/socket/getaddrinfo.c (GET_AI): use INIT_SOCKADDR.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 23:14:22 +00:00
akr 4faef960f2 * ext/socket/sockport.h (SA_LEN): removed because unused now.
(SS_LEN): ditto.
  (SIN_LEN): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 22:08:28 +00:00
akr 792cfa3fd0 * ext/socket/sockport.h (VALIDATE_SOCKLEN): new macro to validate
sa_len member of 4.4BSD socket address.

* ext/socket/getnameinfo.c (getnameinfo): use VALIDATE_SOCKLEN,
  instead of SA_LEN.

* ext/socket/socket.c (sock_s_getnameinfo): use VALIDATE_SOCKLEN
  instead of SS_LEN. 



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 15:17:49 +00:00
akr 1cc445fbbf * ext/socket/socket.c (sockaddr_len): extracted from sockaddr_obj.
(sockaddr_obj): add an argument to length of socket address.
  (socket_s_ip_address_list): call sockaddr_obj with actual socket
  address length if given, use sockaddr_len otherwise.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 13:27:46 +00:00
akr 18a8046d1c * ext/socket: always operate length of socket addess companion with
socket address. 

* ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for
  socket address length.
  (rsock_ipaddr): ditto.

* ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr.
  (ip_peeraddr): ditto.
  (ip_s_getaddress): pass length to rsock_make_ipaddr.

* ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr.
  (sock_s_getnameinfo): pass actual address length to rb_getnameinfo.
  (sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr.
  
* ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr.
  (rsock_s_recvfrom_nonblock): ditto.

* ext/socket/tcpsocket.c (tcp_sockaddr): pass length to
  rsock_make_ipaddr.

* ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket
  address length.  pass the length to rb_getnameinfo.
  (rsock_ipaddr): ditto.
  (rsock_make_ipaddr): add an argument for socket address length. 
  pass the length to make_ipaddr0.
  (make_inetaddr): pass length to make_ipaddr0.
  a local variable renamed.
  (host_str): a local variable renamed.
  (port_str): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 11:28:49 +00:00
akr ed193c50f5 * ext/socket/extconf.rb: don't define HAVE_SA_LEN and HAVE_SA_LEN.
use HAVE_STRUCT_SOCKADDR_SA_LEN and HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
  instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13 23:20:27 +00:00
akr eb4ae6bc54 add comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13 14:41:28 +00:00
akr 22a04e5720 * ext/socket/extconf.rb: don't define socklen_t here, just test.
* ext/socket/rubysocket.h: define socklen_t if not available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13 12:01:24 +00:00
akr d7923c8279 * ext/socket/extconf.rb: test functions just after struct members.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-12 20:51:19 +00:00
naruse 062d2ee6f7 * ext/json: merge JSON 1.7.7.
This includes security fix. [CVE-2013-0269]
  d0a62f3ced
  https://groups.google.com/d/topic/rubyonrails-security/4_YvCpLzL58/discussion

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-12 03:05:45 +00:00
akr c799b11273 * ext/socket/extconf.rb: test structure members just after types test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10 14:43:00 +00:00
akr 5b057eeff2 * ext/socket/extconf.rb: test types just after headers test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10 11:58:53 +00:00
akr 474e3cd2a7 add comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10 03:29:37 +00:00
akr 1ab6dccf4b * ext/socket/extconf.rb: test headers at first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10 03:11:00 +00:00
nobu 98932f5150 eval.c: preserve errinfo
* eval.c (rb_ensure): preserve errinfo accross ensure proc before
  JUMP_TAG().  [ruby-core:52022] [Bug #7802]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-08 07:09:48 +00:00
tenderlove 1c836f811c * ext/psych/lib/psych/visitors/yaml_tree.rb: fixing string quotation
when dumping Ruby strings. Thanks Ingy

* test/psych/test_psych.rb: appropriate tests.

* test/psych/test_yaml.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 23:54:29 +00:00
tenderlove 7a68f53dc6 * ext/psych/lib/psych/visitors/yaml_tree.rb: change output reference
ids to be sequential numbers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 23:52:01 +00:00
zzak 90eb265f86 * doc/pty/README: Remove static documentation file
* ext/pty/pty.c: Add License to PTY module overview


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 20:51:56 +00:00
zzak a493ec0388 * doc/pty/README.expect: Removed static documentation file
* ext/pty/lib/expect.rb: Documentation for IO#expect


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 14:31:32 +00:00
nobu 490f1fc009 console.c: default by stty raw
* ext/io/console/console.c (rawmode_opt): use default values by `stty
  raw`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-05 04:27:57 +00:00
zzak 53bc349069 * ext/json/lib/json.rb: Move module overview definition for rdoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04 19:39:15 +00:00
nobu d06141cde7 io-console.gemspec: 0.4.1
* ext/io/console/io-console.gemspec: bump to 0.4.1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04 12:23:51 +00:00
nobu 1a15c3770e io-console.gemspec: limit date length
* ext/io/console/io-console.gemspec: limit Date keyword length to get rid of locale format.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04 12:15:32 +00:00
nobu 36ed400fe3 io-console.gemspec: update
* ext/io/console/io-console.gemspec: use Date keyword and add licenses.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04 12:09:16 +00:00
nobu a9cbe8c721 init.c: declaration-after-statement
* ext/socket/init.c (cloexec_accept): fix declaration-after-statement.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04 06:19:40 +00:00
nobu 523292d612 console.c: initialize
* ext/io/console/console.c (rawmode_opt): initialize options for the
  case all options are not given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04 06:10:12 +00:00
nobu 80455c0d97 * ext/io/console/io-console.gemspec: fix date.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-03 08:22:43 +00:00
nobu b3d12956b4 io-console.gemspec: bump
* ext/io/console/io-console.gemspec: bump.  [Bug #7762]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-03 07:54:29 +00:00
nobu f050b22327 console.c: fix unit of min
* ext/io/console/console.c (rawmode_opt): min is minimum characters,
  not tenths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-03 07:54:18 +00:00
shugo 46ea3f6555 * ext/readline/extconf.rb, ext/readline/readline.c: check
RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE directly in
  readline.c.  Patch by Zachary Scott.  [Bug #7397] [ruby-core:49561]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-01 05:37:29 +00:00
shugo 4ccfb2743f * ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return
sizeof(sa_familiy_t) if path is empty.  see "Autobind Feature" in
  unix(7) for details.

* ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an
  empty path as an abstract name.

* test/socket/test_unix.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-31 04:59:31 +00:00
akr 1ff38a5bbf * ext/socket/basicsocket.c (bsock_getsockname): ignore truncated
part of socket address.
  (bsock_getpeername): ditto.
  (bsock_local_address): ditto.
  (bsock_remote_address): ditto.

* ext/socket/unixsocket.c (unix_path): ditto.
  (unix_addr): ditto.
  (unix_peeraddr): ditto.

* ext/socket/init.c (cloexec_accept): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-30 12:01:51 +00:00
shugo e16b8482c7 * ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()
because rb_sys_fail_str() fails if its argument contains NUL.

* test/socket/test_unix.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-30 06:30:12 +00:00
nobu 18a8812e36 debug: trivial fixes
* ext/-test-/debug/init.c (Init_debug): use normal module.

* ext/-test-/debug/inspector.c (callback): debug_inspector interfaces
  now use long.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-29 09:30:37 +00:00
ko1 18e01f6381 * vm_backtrace.c: fix issue of rb_debug_inspector_open().
The order of making binding should be stack (frame) top to bottom.
  [Bug #7635]
  And also fix issue of collecting klass. Collecting klass is same
  as TracePoint#defined_class.
  (previous version, it returns T_ICLASS (internal objects).
* test/-ext-/debug/test_debug.rb: add a test.
* ext/-test-/debug/extconf.rb, init.c, inspector.c: ditto.
* vm_backtrace.c: remove magic number and add enum CALLER_BINDING_*.
* vm_backtrace.c, include/ruby/debug.h: add new C api (experimental)
  rb_debug_inspector_frame_self_get().
* vm.c, vm_core.h, vm_trace.c: move decl. of
  rb_vm_control_frame_id_and_class() and constify first parameter.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-29 08:25:32 +00:00
nobu b0c4ac7779 proc.c: original arity
* proc.c (rb_mod_method_arity): return original arity of the method if
  aliased because of visibility change, like as Method#arity.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-29 07:49:22 +00:00
shugo a1ed445b81 * ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the
correct address length of an abstract socket.

* test/socket/test_unix.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-29 00:32:05 +00:00
akr 8477d3131c * ext/fcntl/fcntl.c: update document. use "file descriptor" instead
of "file handle" because it is not used other Ruby documents and
  it is confusing with Windows file handle.
  correct F_DUPFD behavior.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-28 03:34:43 +00:00
nari 68d131d6a5 fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-26 09:51:34 +00:00
drbrain 623f6d6673 * ext/fcntl/fcntl.c: Document Fcntl constants
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-26 04:36:14 +00:00
nobu a110d1782e extconf.rb: fix warnings
* ext/socket/extconf.rb: fix warnings from IN6_IS_ADDR_ macros in
  apple's netinet6/in6.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-26 02:31:40 +00:00
shugo 07e9f122a9 * ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from
rsock_unixpath_len, because it returns not the length of the path,
  but the length of a socket address for the path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25 23:33:50 +00:00
suke 57408cb1d1 * ext/win32ole/win32ole.c: use TlsAlloc instead of __declspec(thread)
to avoid SEGV if win32ole.so loaded with LoadLibrary in Windows
  Vista or earlier.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25 10:17:59 +00:00
shugo ad55d141eb * ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),
ext/socket/unixsocket.c (unixsock_connect_internal,
  rsock_init_unixsock): calculate the correct address length of
  an abstract socket.  Without this fix, sizeof(struct sockaddr_un)
  is specified as the length of an abstract socket for bind(2) or
  connect(2), so the address of the socket is filled with extra NUL
  characters.  See unix(7) for details.

* ext/socket/lib/socket.rb (unix_server_socket): don't access the
  file system if the platform is Linux and path starts with NUL,
  which means that the socket is an abstract socket.

* test/socket/test_unix.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25 08:15:26 +00:00
nobu c669931941 vpath.rb: hack for msys make
* tool/vpath.rb (VPath#def_options): hack for msys make, which
  converts a command line argument to non-msys command seems like a
  path list automagically.  [Bug #7710] [ruby-core:51489]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-20 13:24:31 +00:00
nobu 090d20fc16 win32ole: remove win32ole.rb
* ext/win32ole/lib/win32ole.rb: no longer used.  [Bug #2618] [ruby-core:27634]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-18 02:29:59 +00:00
nobu 27ed294c71 win32ole: OLE uninitialize
* ext/win32ole/win32ole.c (ole_initialize): uninitialize OLE at thread
  ends.  [Bug #2618] [ruby-core:27634]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-18 02:24:35 +00:00
nobu 588504b20f win32ole: OLE initialize per threads
* ext/win32ole/win32ole.c (ole_initialize): initialize OLE for each
  threads.  [Bug #2618] [ruby-core:27634]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-18 02:23:37 +00:00
nobu 03d19637f6 win32ole: warning flag
* ext/win32ole/extconf.rb (create_win32ole_makefile): replace or
  append warning flag.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-17 08:50:12 +00:00
nobu a23469f4b6 win32ole: unused variables
* ext/win32ole/win32ole.c (ole_methods_sub, ole_variables),
  (ole_search_event_at): remove unused variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-17 08:50:09 +00:00
nobu 70c647b8c5 win32ole.c: prototype
* ext/win32ole/win32ole.c: use prototype instead of old K&R style.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-17 05:06:28 +00:00
tenderlove 679a646e37 * ext/psych/lib/psych/scalar_scanner.rb: use constants rather than
calculating Inf and NaN.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-17 01:49:55 +00:00
nobu 0c61c3b67b win32ole.rb: use TracePoint
* ext/win32ole/lib/win32ole.rb: use TracePoint to hook all thread
  creation not only by Thread.new and to get rid of interference with
  svar scope.  [Bug #7681] [ruby-core:51365]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-16 09:45:48 +00:00
mrkn a4665e30f7 * ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-14 05:42:51 +00:00
mrkn 512b987544 * ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead of
`TYPE(x) == t`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-14 05:42:48 +00:00
zzak c12d66f0d1 * ext/psych/yaml/scanner.c: Fix typos, patch by James Dabbs
[Github tenderlove/psych#118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-13 07:47:10 +00:00
mrkn dc2182aab8 * ext/bigdecimal/bigdecimal.c (BigDecimal_sub):
need to specify precision for converting Rational and Float.
  [ruby-dev:46544] [Bug #7404]

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

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

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

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

* test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-13 06:15:37 +00:00
nobu c2f9fcad71 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-12 01:41:43 +00:00
tenderlove 0a60805af5 * ext/psych/lib/psych/visitors/to_ruby.rb: merge key values that
contain something besides a hash should be left in tact.

* test/psych/test_merge_keys.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-12 00:00:12 +00:00
suke 92a7da1900 * ext/win32ole/win32ole.c (ole_set_byref): support VT_UI8|VT_BYREF,
VT_I8|VT_BYREF in cygwin and mingw.
	  
* ext/win32ole/win32ole.c (ole_variant2val): ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_with_i8_byref):
  ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11 22:59:51 +00:00
nobu a5ddc2e196 extconf.rb: have_header
* ext/tk/extconf.rb (find_tcltk_header): use have_header instead of
  try_cpp, which is incredibly slow with VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-10 07:47:20 +00:00
tenderlove b104e2524d * ext/psych/lib/psych/scalar_scanner.rb: strip trailing dots from
floats so that Float() will not raise an exception.

* test/psych/test_numeric.rb: test to ensure "1." can be loaded

* test/psych/test_string.rb: make sure "1." can round trip

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 19:26:45 +00:00
tenderlove ac8b1869c0 * ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings
will be dumped as unicode.  Thanks Paul Kunysch!

* test/psych/test_string.rb: appropriate test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 19:26:36 +00:00
mrkn 1be6a498ba * ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal):
add RB_GC_GUARD to prevent the immediate object is GCed too early.
  This patch was made by Yusuke Endoh.  [Bug #7044] [ruby-core:47632]

* test/bigdecimal/test_bigdecimal.rb: add a reproduction test for
  the issue [Bug #7044]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 14:42:52 +00:00
shugo 9cadf0c039 * eval.c (Init_eval): enable Refinements by default.
[ruby-core:51286] [Bug #7667]

* eval.c (rb_mod_refine, top_using): show a warning when
  Module#refine or main.using is called at the first time.

* ext/refinement/*: removed the extension library "refinement".

* test/ruby/test_refinement.rb: fix for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 11:22:31 +00:00
zzak 3e028faf7c * ext/psych/lib/psych.rb (Psych.load): Return value of
Psych::SyntaxError.message should be same as example.
  Patch by Ippei Obayashi [ruby-core:51193] [Bug #7636]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 06:13:56 +00:00
zzak 762aa293ca * ext/zlib/zlib.c (Zlib::GzipFile): Fix typo by zed_0xff
[Fixes Github #229]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-01 18:10:34 +00:00
shugo cdabc58f8e * ext/curses/curses.c (window_cury, window_curx, window_maxy,
window_maxx, window_begy, window_begx): use RB_UNUSED_VAR()
  to suppress unused-but-set-variable warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-29 12:54:41 +00:00
glass 89182621d9 * ext/stringio/stringio.c (strio_getline): fix not to raise TypeError
when limit is nil.
  [Bug #7232] [ruby-core:48531]

* test/stringio/test_stringio.rb: a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-27 12:21:17 +00:00
glass cd453f16b4 * ext/stringio/stringio.c (strio_ungetc): raise IOError instead of RuntimeError
if the string is frozen.
  [Bug #7231] [ruby-core:48530]

* ext/stringio/stringio.c (strio_ungetbyte): ditto.

* test/stringio/test_stringio.rb: a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-27 11:43:02 +00:00
nobu 20a5505349 zlib.c: function name
* ext/zlib/zlib.c (rb_gzreader_lines): fix function name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-23 06:21:49 +00:00
knu c47c095b97 Deprecate #{lines,bytes,chars,codepoints} of IO-likes.
* io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints):
  Deprecate IO#{lines,bytes,chars,codepoints} and those of ARGF.
  [Feature #6670]

* ext/stringio/stringio.c (strio_lines, strio_bytes, strio_chars)
  (strio_codepoints): Deprecate
  StringIO#{lines,bytes,chars,codepoints}. [Feature #6670]

* ext/zlib/zlib.c (rb_gzreader_lines, rb_gzreader_bytes):
  Deprecate Zlib::GzipReader#{lines,bytes}. [Feature #6670]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-22 17:22:04 +00:00
kou 8346f7b2ad * ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):
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
2012-12-21 14:16:02 +00:00
kou e852838cee * ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):
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
2012-12-21 14:12:57 +00:00
kou 3fed8bc9a5 * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof):
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
2012-12-21 13:44:44 +00:00
nobu ee26f5ec25 tkutil.c: NIL_P
* ext/tk/tkutil/tkutil.c (tk_symbolkey2str, ary2list, ary2list2): do
  not assume NIL_P() to be parenthesized always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 09:28:35 +00:00
nobu 026518c8e5 ossl.c: RTEST
* ext/openssl/ossl.c (ossl_fips_mode_set): do not assume RTEST() to be
  parenthesized always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 09:28:33 +00:00
emboss b9bd8eaf3b * ext/openssl/ossl_cipher.c: fix errors for installations that do not
feature Authenticated Encryption.
* ext/openssl/extconf.rb: detect presence of EVP_CTRL_GCM_GET_TAG to
  determine whether Authenticated Encryption can be used.
  [Feature #6980] [ruby-core:47426]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 07:42:56 +00:00
emboss 4fce754f9b * ext/openssl/ossl.c: do not use FIPS_mode_set if not available.
* test/openssl/utils.rb: revise comment about setting FIPS mode to
  false.
* test/openssl/test_fips.rb: remove tests that cause errors on
  ruby-ci.
  [Feature #6946] [ruby-core:47345]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 07:00:11 +00:00
nobu d3d00ab8fe * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 06:18:26 +00:00
emboss 215b54806b * ext/openssl/ossl_cipher.c: add support for Authenticated Encryption
with Associated Data (AEAD) for OpenSSL versions that support the
  GCM encryption mode. It's the only mode supported for now by OpenSSL
  itself. Add Cipher#authenticated? to detect whether a chosen mode
  does support Authenticated Encryption.
* test/openssl/test_cipher.rb: add tests for Authenticated Encryption.
  [Feature #6980] [ruby-core:47426] Thank you, Stephen Touset for
  providing a patch!



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 06:03:03 +00:00
emboss a3b753b282 * ext/openssl/ossl.c: add OpenSSL.fips_mode= to allow enabling FIPS
mode manually.
* test/openssl/utils.rb: turn off FIPS mode for tests. This prevents
  OpenSSL installations with FIPS mode enabled by default from raising
  FIPS-related errors during the tests.
* test/openssl/test_fips.rb: add tests for FIPS-capable OpenSSL
  installations.
  [Feature #6946] [ruby-core:47345]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-20 00:29:07 +00:00
zzak bfa7a49d31 * ext/.document: Add missing ext modules to .document
Patch by Ryunosuke SATO [Fixes Github #224]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 16:04:11 +00:00
nagachika 606b66db7d * vm.c (rb_vm_make_jump_tag_but_local_jump): take care of the case
TAG_JUMP() with TAG_FATAL (ex. rb_fatal()).

* test/ruby/test_fiber.rb (test_fatal_in_fiber): add a test for above.

* ext/-test-/fatal/extconf.rb, ext/-test-/fatal/rb_fatal.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 04:30:44 +00:00
emboss 84f1dae9d6 * ext/openssl/lib/ssl.rb: Enable insertion of empty fragments as a
countermeasure for the BEAST attack by default. The default options
  of OpenSSL::SSL:SSLContext are now:
  OpenSSL::SSL::OP_ALL & ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS
  [Bug #5353] [ruby-core:39673]

* test/openssl/test_ssl.rb: Adapt tests to new SSLContext default.

* NEWS: Announce the new default.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-18 02:02:43 +00:00
tenderlove 4654d75ea3 * ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping so
common cases are evaluated first.  Thanks Kevin Menard!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 18:04:50 +00:00
ngoto 48bcb55c41 * ext/fiddle/pointer.c (rb_fiddle_ptr2cptr): fix error message forgotten to be changed from DL to Fiddle.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:04:25 +00:00
ngoto 13b20230f9 * ext/.document: add fiddle/pointer.c, fiddle/handle.c, and fiddle/win32/lib as documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 18:47:02 +00:00
tenderlove 8a4cc4e02a * ext/psych/lib/psych/visitors/yaml_tree.rb: quote strings that begin
with non-word characters.  Thanks Alex Tambellini!
* test/psych/test_yaml.rb: appropriate test case

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 22:45:16 +00:00
shugo 3a6dec0c5d * include/ruby/ruby.h (RB_UNUSED_VAR): new macro to suppress
warnings for unused variables.

* ext/bigdecimal/bigdecimal.c (ENTER): use RB_UNUSED_VAR() to
  suppress annoying warnings by -Wunused-but-set-variable in gcc 4.6.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 03:09:22 +00:00