* ext/readline/readline.c (mustbe_callable): extract to check a
given argument to be callable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
harm that to use unary minus operator with unsigned value.
get rid of test failures introduced at r56312.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_parse.c (str_end_with): extract to tell if a
string ends with the other string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/stringio/stringio.c (strio_seek): Avoid signed integer overflow.
It's not harmful in practice here, but is still undefined behavior.
* ext/stringio/stringio.c (strio_extend): Check that the new length does
not exceed LONG_MAX. This fixes the invalid write on the overflow.
* test/stringio/test_stringio.rb (test_write_integer_overflow): Add a
test case for the above fix in strio_extend().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb (extract_makefile, extmake, configuration): store
extra libraries to be installed.
* tool/rbinstall.rb (ext-arch): install extra libraries.
* ext/zlib/extconf.rb: install zlib if built.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/zlib/extconf.rb: no feature checks when building zlib from
the source, assume it is recent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/zlib/extconf.rb: try building zlib from the source if
exists.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/-test-/win32/dln/{depend,extconf.rb} (dlntest.dll): make
under the extension directory, instead of the top directory.
* test/-ext-/win32/test_dln.rb (test_check_imported): explicit
PATH environment variable to load the DLL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit changes full heap dumps back to using JSON lines format
(http://jsonlines.org) so that we can process very large heaps without
loading the entire heap in to memory at once.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
with old version of fcc (Fujitsu C Compiler) on Solaris 10.
[Bug #12769] [ruby-dev:49809]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Use PRIuSIZE instead of PRIdSIZE. This fixes the exception message shown
on too large xmalloc2. This commit also fixes other incorrect use of
PRIdSIZE in other functions; though most of them are debug print.
* gc.c (heap_extend_pages, get_envparam_size, ruby_malloc_size_overflow,
gc_profile_dump_on): Use PRIuSIZE instead of PRIdSIZE as the passed
value is size_t, not ssize_t.
* iseq.c (get_line_info, rb_iseq_disasm_insn): Ditto.
* sprintf.c (rb_str_format): Ditto.
* thread_win32.c (native_thread_create): Ditto.
* vm.c (get_param): Ditto.
* ext/objspace/objspace_dump.c (dump_append_string_content,
dump_object): Ditto.
* ext/socket/raddrinfo.c (host_str, port_str): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* {ext,test}/openssl: Import Ruby/OpenSSL 2.0.0.beta.2. The full commit
history since v2.0.0.beta.1 can be found at:
https://github.com/ruby/openssl/compare/v2.0.0.beta.1...v2.0.0.beta.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb (create_makefile): touch gem.build_complete only if
building an extension library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb (timestamp_file): make build_complete file at the
toplevel of the gem directory without target_prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb (timestamp_file): move extmk.rb specific tricks
from lib/mkmf.rb. keep RUBYCOMMONDIR prefix not to conflict
with a timestamp file in the toplevel.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: remove Borland make support. Borland C++ has not
been supported since years ago.
* lib/mkmf.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb (create_makefile): make gem.build_complete file
under TARGET_SO_DIR and install it only when the gem build
succeeded. [ruby-core:77057] [Bug #12681]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb.
* lib/mkmf.rb (create_makefile): create target shared object files
under $(TARGET_SO_DIR) which is $sodir if it is defined with
$extout. [ruby-core:77058] [Bug #12681]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: make the gems target directory under the expanded
name. [ruby-core:77102] [Bug #12714]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/json/lib/json/add/ostruct.rb (OpenStruct.json_create):
Correct documentation, fix the name of values. [Fix GH-1421]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS, {ext,test,sample}/openssl: Import Ruby/OpenSSL 2.0.0.beta.1.
ext/openssl is now converted into a default gem. The full commit
history since r55538 can be found at:
08e1881f56...v2.0.0.beta.1
[Feature #9612]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb (extmake): now yield makefile content at creation.
substitute makefiles for gems in the block, not to rewrite when
nothing changed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32ole/win32ole.c (ole_val2variant): reuse the converted
result for V_I8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32ole/win32ole.c (ole_val2variant): get rid of repeated
conversions and fix a compile error due to V_I8 in old VC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on
cygwin. [ruby-core:76791] [Bug #12663]
* ext/win32/resolv/resolv.c (w32error_make_error): use
Win32::Resolv::Error, an alias of Win32::Registry::Error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on
cygwin. [ruby-core:76791] [Bug #12663]
* ext/win32/resolv/resolv.c (w32error_make_error): use
Win32::Resolv::Error, an alias of Win32::Registry::Error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/tk/tcltklib.c (ip_init): get rid of repeated checks and
conversions in StringValueCStr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/tk/tcltklib.c (set_max_block_time, tcl_protect_core,
ip_init, ip_create_slave_core, get_obj_from_str,
ip_cancel_eval_core, lib_set_system_encoding,
alloc_invoke_arguments, lib_merge_tklist): use StringValueCStr
instead of StringValuePtr for values to be passed to Tcl
interperter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e