summaryrefslogtreecommitdiffstats
path: root/string.c
Commit message (Collapse)AuthorAgeFilesLines
* * gc.c (gc_mark): enable GC stack checking.matz2004-11-041-2/+7
| | | | | | | | | | | | | | | | | | | | * string.c (str_gsub): lock strings temporarily. [ruby-dev:24687] * ext/socket/socket.c (s_recvfrom): tmplock input buffer. [ruby-dev:24705] * array.c (rb_ary_uniq_bang): do not push frozen string from hash table. [ruby-dev:24695] * array.c (rb_ary_and): ditto. * array.c (rb_ary_or): ditto. * ext/enumerator/enumerator.c (each_cons_i): pass copy of an internal consequent array. [ruby-talk:118691] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_locktmp): lock string temporarily.matz2004-10-301-0/+20
| | | | | | | | | | | | | | * string.c (str_independent): add tmplock check. * io.c (io_write): lock output string temporarily. [ruby-dev:24649] * io.c (io_write): use rb_str_locktmp(). * io.c (read_all): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_gsub): use STR_NOCAPA.nobu2004-10-271-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (RESIZE_CAPA): check string attribute before modifyingmatz2004-10-271-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_gsub): use a string object for exception safeness.nobu2004-10-271-28/+30
| | | | | | | [ruby-dev:24601] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_include): should not treat char as negative value.nobu2004-10-211-9/+2
| | | | | | | [ruby-dev:24558] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_gsub): reentrant check. [ruby-dev:24432]matz2004-10-201-5/+5
| | | | | | | * backport all SEGV bug fixes from CVS HEAD. [ruby-dev:24536] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (read_all): block string buffer modification duringmatz2004-10-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb_io_fread() by freezing it temporarily. [ruby-dev:24479] * dir.c (rb_push_glob): block call at once the end of method. [ruby-dev:24487] * ext/enumerator/enumerator.c (enum_each_slice): remove rb_gc_force_recycle() to prevent potential SEGV. [ruby-dev:24499] * ext/zlib/zlib.c (zstream_expand_buffer): hide internal string buffer by clearing klass. [ruby-dev:24510] * ext/socket/socket.c (sock_s_getservbyaname): protocol string might be altered. [ruby-dev:24503] * string.c (rb_str_upto): check if return value from succ is a string. [ruby-dev:24504] * io.c (rb_io_popen): get mode string via rb_io_flags_mode() to avoid mode string modification. [ruby-dev:24454] * io.c (rb_io_getline_fast): should take delim as unsigned char to distinguish EOF and '\377'. [ruby-dev:24460] * io.c (rb_io_getline): add check for RS modification. [ruby-dev:24461] * enum.c (enum_sort_by): use qsort() directly instead using rb_iterate(). [ruby-dev:24462] * enum.c (enum_each_with_index): remove rb_gc_force_recycle() to prevent access to recycled object (via continuation for example). [ruby-dev:24463] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * indent and tabifynobu2004-10-181-47/+47
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_upto): method result must be checked. [ruby-dev:24504]nobu2004-10-181-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_sysopen): preserve path in the buffer allocated bymatz2004-10-061-26/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALLOCA_N() to prevent modification. [ruby-dev:24438] * io.c (rb_io_mode_flags): preserve append mode flag. [ruby-dev:24436] * io.c (rb_io_modenum_mode): do not use external output buffer. * string.c (rb_str_justify): differ pointer retrieval to prevent padding string modification. [ruby-dev:24434] * range.c (range_each_func): allow func to terminate loop by returning RANGE_EACH_BREAK. * range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959] * marshal.c (r_byte): retrieve pointer from string value for each time. [ruby-dev:24404] * marshal.c (r_bytes0): ditto. * enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399] * io.c (io_read): should freeze all reading buffer. [ruby-dev:24400] * string.c (rb_str_sum): should use bignums when bits is greater than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395] * eval.c (specific_eval): defer pointer retrieval to prevent unsafe sourcefile string modification. [ruby-dev:24382] * eval.c (specific_eval): defer pointer retrieval to prevent unsafe sourcefile string modification. [ruby-dev:24382] * string.c (rb_str_sum): wrong cast caused wrong result. [ruby-dev:24385] * enum.c (enum_sort_by): hide temporary array from ObjectSpace.each_object. [ruby-dev:24386] * string.c (rb_str_sum): check was done with false pointer. [ruby-dev:24383] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_sum): check was done with false pointer.matz2004-10-021-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ruby-dev:24383] * string.c (rb_str_sum): string may be altered. [ruby-dev:24381] * eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe sourcefile string modification. [ruby-dev:24373] * io.c (io_read): block string buffer modification during rb_io_fread() by freezing it temporarily. [ruby-dev:24366] * io.c (rb_io_s_popen): mode argument may be altered. [ruby-dev:24375] * file.c (rb_file_s_basename): ext argument may be altered. [ruby-dev:24377] * enum.c (enum_sort_by): use NODE instead of 2 element arrays. [ruby-dev:24378] * string.c (rb_str_chomp_bang): StringValue() may change the receiver. [ruby-dev:24371] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_equal): element size might change duringmatz2004-09-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | | comparison. [ruby-dev:24254] * array.c (rb_ary_diff): ditto. [ruby-dev:24274] * array.c (rb_ary_select): ditto. [ruby-dev:24278] * array.c (rb_ary_delete): ditto. [ruby-dev:24283] * array.c (rb_ary_rindex): ditto. [ruby-dev:24275] * array.c (rb_ary_initialize): element size might change during initializing block. [ruby-dev:24284] * dir.c (dir_s_chdir): avoid memory leak and unnecessary chdir to the original directory when exception has caused in changing direcotry or within block. thanks to Johan Holmberg <holmberg@iar.se> [ruby-core:03446] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_reopen): should clear allocated OpenFile. pointedmatz2004-08-171-3/+0
| | | | | | | out by Guy Decoux. [ruby-core:03288] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * range.c (rb_range_beg_len): returns Qnil only when "beg" pointsmatz2004-07-241-1/+2
| | | | | | | outside of a range. No boundary check for "end". git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_match): raise TypeError when both arguments areusa2004-07-071-25/+2
| | | | | | | | | | | | strings. [ruby-dev:22869] (backported from HEAD) * string.c (rb_str_match2): removed. * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub (string.c): now not depend on version.h. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_new4): should share shared instance if it alreadymatz2004-06-051-3/+2
| | | | | | | exists. [ruby-dev:23665] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * range.c (range_each_func): terminates loop if generating valuematz2004-05-141-1/+1
| | | | | | | | | | is same to @end. [ruby-talk:100269] * string.c (rb_str_new4): should not reuse frozen shared string if the original is not an instance of String. [ruby-talk:100193] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_eval): too many line trace call. (ruby-bugs PR#1320)matz2004-05-071-6/+6
| | | | | | | | | | | | | | | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,nobu2004-04-141-2/+2
| | | | | | | process.c, re.c, string.c: typos in RDoc comments. [ruby-core:02783] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (top_include): include in the wrapped load is done formatz2004-04-051-5/+5
| | | | | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_yield_0): should not re-submit TAG_BREAK if thismatz2004-03-151-2/+2
| | | | | | | yield is not break destination. [ruby-dev:23197] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c, re.c, string.c, time.c: fixed up positions of RDocs.akira2004-01-191-5/+5
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add RDoc for kernel functions, and tidy updave2003-12-301-4/+148
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_update): don't return any value.usa2003-12-251-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_update): call rb_str_modify().matz2003-12-251-8/+1162
| | | | | | | | * eval.c (search_required): search actual file name once when no extension specified. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_update): get rid of SEGV at just allocated String.nobu2003-11-301-1/+3
| | | | | | | [ruby-core:01812] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: add #include "version.h". this file still depends on it.usa2003-11-051-0/+1
| | | | | | | | * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub: add version.h dependency to string.c. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c, hash.c, string.c: remove #include "version.h".eban2003-11-041-1/+0
| | | | | | | * Makefile.in: remove needless version.h dependency. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (read_all): fptr->f may be NULL, if IO is closed in thematz2003-11-041-18/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | signal handler. * io.c (io_read): ditto. * string.c (get_pat): remove 1.8.0 warning code. * string.c (rb_str_match): extend warning until 1.8.2. * string.c (rb_str_match2): ditto. * class.c (class_instance_method_list): remove 1.8.0 warnings. method_list now recurs. [ruby-dev:21816] * class.c (rb_obj_singleton_methods): ditto. * array.c (rb_ary_select): remove select with block. [ruby-dev:21824] * hash.c (rb_hash_select): ditto. * hash.c (env_select): ditto. * re.c (match_select): ditto. * struct.c (rb_struct_select): ditto. * process.c (check_uid_switch): remove duplicated error messages. * process.c (check_gid_switch): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_hash): Update the HASH_PERL alternative hashknu2003-11-011-2/+6
| | | | | | | | | algorithm in sync with Perl 5.8. * st.c (strhash): Ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_upto): ("a"..."a").to_a should return [].matz2003-10-161-1/+3
| | | | | | | [ruby-core:01634] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_new4): should not preserve FL_TAINT status in thematz2003-10-131-10/+3
| | | | | | | | | | | | | | | | | internal shared string. [ruby-dev:21601] * string.c (rb_str_new4): ditto. * eval.c: use EXIT_SUCCESS and EXIT_FAILURE for exit values. * process.c: ditto. [ruby-dev:38521] * lib/debug.rb (debug_command): should enter emacs mode when assigned any value to the environment variable "EMACS". On Meadow, (getenv "EMACS") is "meadow". git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (mark_frame_adj): need to adjust argv pointer if usingmatz2003-09-051-9/+9
| | | | | | | | | | | | system's alloca. [ruby-core:01503] * io.c (rb_f_gets): should call next_argv() before type check current_file. [ruby-list:38336] * eval.c (proc_invoke): should retrieve retval when pcall is true. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_eval): *a = [1,2] now assigns [[1,2]] to a.matz2003-08-271-1/+1
| | | | | | | | | | | | | consistent with *a = [1], which set [[1]] to a. * node.h: merge NODE_RESTARY to NODE_SPLAT. * parse.y: rules simplified a bit by removing NODE_RESTARY. * sample/test.rb: updated for new assignment behavior. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (inject_i): use rb_yield_values.matz2003-08-221-1/+1
| | | | | | | | | | | * enum.c (each_with_index_i): ditto. * eval.c (rb_yield_splat): new function to call "yield *values". * string.c (rb_str_scan): use rb_yield_splat(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir):matz2003-08-051-2/+8
| | | | | | | | | simple typo. * string.c (str_new4): ptr may refer null_str. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby.c (proc_options): -F set compiled regular expression to $;.matz2003-07-301-2/+2
| | | | | | | | | [ruby-talk:77381] * string.c (Init_String): no setter type check for $; git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_chomp_bang): defer rb_str_modify() to actualmatz2003-07-271-12/+15
| | | | | | | | | | | | | modify point. other methods, replace, tr, delete, squeeze, lstrip, and rstrip as well. * string.c (rb_str_rstrip_bang): remove trailing '\0' at the end of string. * string.c (rb_str_lstrip_bang): do not strip '\0' from the left. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (thgroup_add): no warning for terminated threads.matz2003-07-241-1/+5
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_lstrip_bang): strip NUL along with whitematz2003-07-231-5/+3
| | | | | | | | | spaces. [ruby-talk:76659] * string.c (rb_str_rstrip_bang): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_equal): should return nil for non stringmatz2003-07-211-1/+1
| | | | | | | | | operand to conform comparable convention. [ruby-dev:20759] * object.c (rb_equal): preserve nil if "==" returns nil. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: use StringValueCStr to retrieve paths to system calls.matz2003-07-201-0/+13
| | | | | | | | | | | * string.c (rb_string_value_cstr): check null byte in the string before retrieving C ptr. accessed via macro StringValueCStr. * file.c (sys_fail2): raise error for two operand system calls such as rename, link, symlink. (ruby-bugs PR#1047) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_match2): add warning to "~string".matz2003-07-191-0/+3
| | | | | | | | | | [ruby-list:37751] * lib/net/ftp.rb (Net::FTP::open): takes block. suggested by Gavin Sinclair in [ruby-core:01237]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_values_at): extract common procedure frommatz2003-07-031-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb_ary_values_at. follow DRY principle. * re.c (match_values_at): values_at should understand ranges. * struct.c (rb_struct_values_at): ditto. * struct.c (inspect_struct): inspect format changed; add "struct " at the top. * sprintf.c (rb_f_sprintf): "%p" specifier for inspect output. (RCR#68) * eval.c (rb_mod_undef_method): allow "undef_method" to accept multiple arguments. (RCR#146) * lib/timeout.rb: put timeout in Timeout module. (RCR#121) [ruby-talk:61028] * re.c (match_groups): new method added. (RCR#139) * variable.c (rb_mod_const_of): should exclude constant defined in Object, unless retrieving constants of Object. * string.c (rb_str_new4): do not allocate new string if original is frozen or already have copy-on-write entry. [ruby-talk:74940] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_shared_replace): clear flags before copy.matz2003-07-021-2/+3
| | | | | | | | | | * string.c (rb_str_replace): ditto. * eval.c (rb_yield_0): override visibility mode for module_eval etc. (ruby-bugs-ja PR#505) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_split_m): remove white spaces on the head ofnobu2003-06-271-1/+2
| | | | | | | the last element, when limit is specified. [ruby-talk:74506] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_fflush): need to check if closed after thread switch.nobu2003-06-261-1/+6
| | | | | | | | | | | | [ruby-dev:20351] * io.c (fptr_finalize): ditto. * string.c (rb_str_rindex_m): fixed wrong fix. should move backward first only when matching from the end. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sorry, typo again.nobu2003-06-231-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* typonobu2003-06-231-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e