without coercing. [ruby-talk:142697] [ruby-talk:143054]
* ruby.c (require_libraries): caused SEGV when continuation jumped
in to the required library code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
on bcc32. "1e300".to_f had crashed by overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-dev:24899]
* process.c (get_pid): ditto. [ruby-dev:24904]
* process.c (get_ppid): ditto.
* array.c (rb_ary_delete): defer rb_ary_modify() until actual
modification. [ruby-dev:24901]
* parse.y (newline_node): should not use FL_SET. [ruby-dev:24874]
* parse.y (string_content): should not use FL_UNSET.
* node.h (NODE_NEWLINE): remove unused bit to utilize flag field
in nodes.
* string.c (rb_str_splice): move rb_str_modify() after
StringValue(), which may alter the receiver. [ruby-dev:24878]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
capacity member of string structure. [ruby-dev:24594]
* ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
performance. [ruby-talk:117701]
* sprintf.c (rb_f_sprintf): raise ArgumentError for extra
arguments, unless (digit)$ style used.
* ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
performance. [ruby-talk:117701]
* sprintf.c (rb_f_sprintf): raise ArgumentError for extra
arguments, unless (digit)$ style used.
* eval.c (frame_free): Guy Decoux solved the leak problem.
Thanks. [ruby-core:03549]
* ext/zlib/zlib.c (zstream_append_input): clear klass for z->input
to avoid potential vulnerability.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-list:39685]
* lib/cgi/session.rb: use LOCK_SH to read, and a few other
improvements. [ruby-core:02328]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c (flo_to_s): the number of significand is correctly handled,
there is assumption that DBL_DIG == 15 though.
(p 0.00000000000000000001 was '9.999999999999999e-21', now is
'1.0e-20')
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c (flo_to_s): tweak output string based to preserve
decimal point and to remove trailing zeros. [ruby-talk:97891]
* string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM
search. [ruby-talk:97342]
* hash.c (rb_hash_equal): returns true if two hashes have same set
of key-value set. [ruby-talk:97559]
* hash.c (rb_hash_eql): returns true if two hashes are equal and
have same default values.
* string.c (rb_str_equal): always returns true or false, never
returns nil. [ruby-dev:23404]
* io.c (rb_io_reopen): should use rb_io_check_io().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
the wrapper, not for a singleton class for wrapped main.
[ruby-dev:23305]
* bignum.c (rb_big_eq): use temporary double variable to save the
result (internal float register may be bigger than 64 bits, for
example, 80 bits on x86). [ruby-dev:23311]
* eval.c (block_pass): should generate unique identifier of the
pushing block. [ruby-talk:96363]
* ext/socket/socket.c (make_hostent): fix memory leak, based on
the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* defines.h, rubysig.h, signal.c: removed macro handling which
should be done in configure.
* configure.in (intrinsics.h): check if present.
* ruby.h: include intrinsics.h if available.
* bignum.c, marshal.c: include ieeefp.h if available.
* missing.h (isinf): define as a macro if finite() and isnan()
are available. [ruby-core:02032]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Solaris. [ruby-core:01921]
* file.c (rb_stat_inspect): adjust format specifier.
* parse.c (arg_prepend): nodetype() is for debug use.
* ruby.h (ISASCII, etc): cast to int to get rid of warning.
* ruby.h (alloca.h): include even in GCC. [ruby-core:01925]
* ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
specifier.
* ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.
* ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.
* ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
volatile.
* ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
format specifier.
* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
define unless used.
* ext/pty/pty.c (getDevice): get rid of warning.
* ext/socket/socket.c (port_str, sock_s_getaddrinfo,
sock_s_getnameinfo): FIX2INT() now returns long.
* ext/socket/socket.c (init_inetsock_internal): uninitialized
variable.
* ext/syck/rubyext.c (syck_parser_assign_io): add prototype.
* ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use
ISDIGIT() instead of isdigit() to avoid warnings and for
platforms which don't support non-ascii charater.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hton32 as well. [ruby-talk:85377]
* pack.c (swap16): swap 2 bytes no matter how big short is on the
platform. swap32() is also prepared.
* numeric.c (rb_num2int): returns long to preserve information.
rb_fix2int(), rb_num2uint(), rb_fix2uint() as well.
[ruby-talk:85377]
* numeric.c (rb_num2uint): should not check for value range if the
source value is negative.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
included modules, if klass is Object. [ruby-talk:79302]
* numeric.c (check_uint): check should be done using UINT_MAX, not
INT_MAX. this fix is submitted by <lyle@knology.net> in
[ruby-core:01486]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-dev:21107]
* marshal.c (w_object): should not call w_extended for USRMARSHAL
dump. [ruby-dev:21106]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (appendline): clearerr(3) before raising exception, since
exception may be captured by rescue. [ruby-talk:77794]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* marshal.c (w_object): check has been dropped. "_dump must return
string." [ruby-dev:21024]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
since it works as copy constructor.
* eval.c (rb_add_method): initialize_copy should always be
private, like initialize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_hash_values_at,env_values_at): ditto.
* re.c (match_values_at): ditto.
* struct.c (rb_struct_values_at): ditto.
* re.c (match_select): add iterator behavior.
* ext/curses/curses.c, ext/digest/sha2/sha2.c, ext/iconv/iconv.c,
ext/racc/cparse/cparse.c: include "ruby.h" at the top to shut up
"_FILE_OFFSET_BITS redefined" warning on Solaris.
* class.c (rb_class_protected_instance_methods): now gives
warnings to show migration path. The default will be reversed
on Jan 2004.
* numeric.c (num_step): "1.1.step(1.5,0.1)" to work.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (Init_IO): define $/, $-0, and $\ as string-only
variables.
* string.c (rb_str_split_m): does not generate empty string if
there's no match in the receiver.
* io.c (fptr_finalize): should raise error on EBADF for readable
IOs as well.
* file.c (rb_stat): use rb_check_convert_type() to retrieve IO.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-list:37217]
* array.c (rb_ary_aset): raise TypeError if index is a symbol.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
internally.
* re.c (rb_reg_initialize_m): should honor option status of
original regexp.
* array.c (rb_ary_equal): ary2 should be T_ARRAY (no to_ary
conversion).
* array.c (rb_ary_eql): ditto.
* string.c (rb_str_equal): str2 should be T_STRING (no to_str
conversion).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e