akr
131824065d
fix some documents.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-25 04:03:02 +00:00
akr
9ceeedb874
fix IO#read docment.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-24 11:43:12 +00:00
akr
8ef1efc90c
* io.c (io_fread): don't warn nonblocking behavior by default.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-12 19:50:29 +00:00
akr
e80636f6f2
* io.c (io_fread): warn nonblocking behavior.
...
(io_readpartial): new method IO#readpartial.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-08 18:17:13 +00:00
matz
918bb50674
* stable version 1.8.2 released.
...
* lib/fileutils.rb (mkdir, mkdir_p): should ensure directory
permission. (backportted from HEAD, 1.47)
* lib/fileutils.rb (traverse, remove_dir): untaint trasted
objects. (backportted from HEAD, 1.46)
* io.c: cancel io_reopen() change on Dec. 24th.
* dln.c: use <dlfcn.h> for NetBSD. [ruby-dev:25313]
* io.c (rb_f_select): [ruby-dev:25312]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-25 10:56:41 +00:00
nobu
2907bc0f81
* io.c (io_reopen, rb_io_reopen): prohibit to change access mode for
...
special IO ports. [ruby-dev:25225]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 17:53:58 +00:00
nobu
b258364f30
* io.c (io_reopen): restore exact mode. fixed: [ruby-core:04003]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 00:38:39 +00:00
nobu
44a49bc2e0
* io.c (io_reopen): readable flag was left unset for read-only IO.
...
fixed: [ruby-core:04003]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 00:19:03 +00:00
nobu
46213a37bb
* io.c (rb_io_mode_modenum): replace O_ACCMODE with O_RDWR.
...
fixed: [ruby-dev:25273]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-22 02:15:35 +00:00
nobu
63699fc66a
* io.c (io_reopen): keep duplex pipe in correct mode for exception
...
safeness. fixed: [ruby-dev:25152]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-21 03:22:48 +00:00
usa
870e8c03e4
* io.c (io_fwrite): workaround for MSVCRT's bug.
...
fixed: [ruby-core:03982]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-20 03:43:14 +00:00
nobu
78a75f90c0
* io.c (rb_io_eof): check if closed before clearerr().
...
fixed: [ruby-dev:25251]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-20 02:21:14 +00:00
matz
0ed07fb125
* io.c (io_reopen): [ruby-dev:25150]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-10 15:13:07 +00:00
matz
3b2e898c14
* io.c (io_fwrite): change dereference for cosmetic reason.
...
* sprintf.c (rb_f_sprintf): [ruby-dev:25104]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-08 06:22:51 +00:00
akiyoshi
07b5db25da
io.c (io_fwrite) : fix offset incrementation for VMS and Human68k.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-07 10:13:46 +00:00
matz
02c45389c5
* io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050]
...
* io.c (io_fwrite): takes VALUE string as an argument.
[ruby-dev:25050]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-07 06:34:26 +00:00
matz
379e85a5f5
* eval.c (proc_invoke): copy arguments to frame.argv.
...
[ruby-core:03861]
* object.c (convert_type): use rb_respond_to() again.
[ruby-dev:25021]
* eval.c (rb_respond_to): funcall respond_to? if it's redefined.
[ruby-dev:25021]
* io.c (rb_file_initialize): [ruby-dev:25032]
* lib/ostruct.rb (OpenStruct::Marshaler): OpenStruct can be
marshaled again. [ruby-core:03862]
* io.c (rb_io_ctl): [ruby-dev:25019]
* io.c (io_fread): need not to null terminate. [ruby-dev:24998]
* io.c (read_all): remove unnecessary rb_str_resize().
[ruby-dev:24996]
* io.c (io_read): ditto.
* io.c (rb_io_sysread): use temporary lock. [ruby-dev:24992]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-03 09:30:33 +00:00
nobu
05e5590ece
* io.c (io_fread): need not to null terminate. [ruby-dev:24998]
...
* io.c (read_all): remove unnecessary rb_str_resize().
[ruby-dev:24996] (backported from CVS HEAD)
* io.c (io_readpartial): ditto.
* io.c (io_read): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-30 14:38:26 +00:00
nobu
9247eb133b
* io.c (fptr_finalize): must not use FILE after fclose().
...
[ruby-dev:24985]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 04:38:08 +00:00
akr
07899e989a
don't use READ_DATA_PENDING in previous change
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-28 17:02:14 +00:00
akr
4c97d89957
* io.c (rb_io_check_writable): restrict io_seek by
...
READ_DATA_PENDING because io_seek(fptr, 0, SEEK_CUR) is
meaningful only if read buffer is not empty.
call io_seek regardless of NEED_IO_SEEK_BETWEEN_RW.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-28 16:31:12 +00:00
akr
3c5b1c7110
io.c (rb_io_fwrite): set path to NULL
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-27 14:08:45 +00:00
akr
9233c9a14c
* io.c: avoid avoid data loss with nonblocking fd and
...
stdio buffering in sync mode. [ruby-dev:24966]
based on matz's patch [ruby-dev:24967]
(io_fwrite): new primitive writing function which writes
directly if sync mode.
(rb_io_fwrite): wrapper for io_fwrite now.
(io_write): call io_fwrite instead of rb_io_fwrite.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-27 13:05:46 +00:00
matz
e8fe520ecd
* io.c (io_fread): [ruby-dev:24964]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-27 02:21:53 +00:00
matz
0d39336f6c
* io.c (io_read): move StringValue() check before GetOpenFile().
...
[ruby-dev:24959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-25 15:50:18 +00:00
matz
7d783091a2
* io.c (read_all): [ruby-dev:24955]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-25 01:26:49 +00:00
matz
f175b8114c
* io.c (io_read): [ruby-dev:24952]
...
* configure.in, io.c: cancel [ ruby-Patches-1074 ].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-23 17:37:51 +00:00
matz
39080991ab
* file.c (rb_file_chown): integer conversion should be prior to
...
GetOpenFile(). [ruby-dev:24947]
* file.c (rb_file_truncate): ditto.
* file.c (rb_file_s_truncate): ditto.
* dir.c (dir_seek): use NUM2OFFT().
* misc/ruby-mode.el (ruby-non-block-do-re): [ruby-core:03719]
* dir.c (dir_seek): should retrieve dir_data after NUM2INT().
[ruby-dev:24941]
* string.c (rb_str_splice): should place index wrapping after
possible modification. [ruby-dev:24940]
* eval.c (error_print): nicer traceback at interrupt.
[ruby-core:03774]
* string.c (str_gsub): internal buffer should not be listed by
ObjectSpace.each_object() by String#gsub. [ruby-dev:24931]
* lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise
exception if data corresponding to session specified from the
client does not exist.
* string.c (str_gsub): internal buffer should not be listed by
ObjectSpace.each_object(). [ruby-dev:24919]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-22 15:29:52 +00:00
nobu
61566f4b7c
* io.c, rubyio.h (rb_io_modenum_flags): exported.
...
* ext/stringio/stringio.c (strio_initialize): allow Fixnum as mode as
well as IO.new does. [ruby-dev:24896]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-18 01:11:01 +00:00
matz
c5789b5075
* dir.c (rb_glob2): do not allocate buffer from heap to avoid
...
memory leaks. use string object for buffering instead.
[ruby-dev:24738]
* dir.c (join_path): ditto.
* io.c (io_read): external input buffer may be modified even after
rb_str_locktmp(). [ruby-dev:24735]
* dir.c (fnmatch): p or s may be NULL. [ruby-dev:24749]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-10 07:17:53 +00:00
matz
8afd99d671
* string.c (rb_str_locktmp): check STR_TMPLOCK flag before
...
locking. [ruby-dev:24727]
* gc.c (gc_mark): stricter GC stack check.
* string.c (str_gsub): should have removed rb_str_unlocktmp(str).
[ruby-dev:24708]
* string.c (str_gsub): string modify check no longer based on
tmplock. [ruby-dev:24706]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-05 16:01:53 +00:00
usa
08feda316d
* typo, too. orz
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-04 10:32:09 +00:00
usa
33276f1e21
* io.c (rb_f_open): fix typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-04 10:28:27 +00:00
nagai
ff861c0c7d
* io.c (pipe_open): fix compile error
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-03 08:14:25 +00:00
matz
9c56a298e8
* eval.c (proc_invoke): nail down dyna_var node when Proc object
...
or continuation is created. [ruby-dev:24671]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 23:53:50 +00:00
matz
c2a9b62fd2
* string.c (rb_str_locktmp): lock string temporarily.
...
* 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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-30 15:33:03 +00:00
nobu
99be646a7f
* io.c (rb_io_check_initialized): new function to check uninitialized
...
object. [ruby-talk:118234]
* file.c (rb_file_path), io.c (rb_io_closed): check if initialized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-29 12:28:32 +00:00
matz
ece87af00c
* string.c (RESIZE_CAPA): check string attribute before modifying
...
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
2004-10-27 02:46:54 +00:00
nobu
8245026372
* io.c (rb_io_getline): rs modification check should not interfere in the loop.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-26 14:52:40 +00:00
matz
860bdc3b61
* io.c (read_all): block string buffer modification during
...
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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 10:25:23 +00:00
eban
afd008f07d
* io.c (MODE_BINMODE, MODE_BINARY): fixed reversed condition.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-14 05:34:43 +00:00
nobu
6297f0556b
* io.c (rb_io_getline): should not treat char as negative value.
...
[ruby-dev:24460]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-09 10:51:11 +00:00
matz
68a9d6820d
* io.c (io_read): should freeze buffer before thread context
...
switch. [ruby-dev:24442]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 05:54:28 +00:00
matz
46c777ac14
* pack.c (pack_unpack): string conversion should at the top of the
...
method. [ruby-dev:24439]
* io.c (io_read): buffer should be frozen only after the length
check. [ruby-dev:24440]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 04:06:41 +00:00
eban
9e262543c2
* io.c (rb_io_flags_mode): typo fix.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-06 15:44:02 +00:00
matz
f433be6d9c
* io.c (rb_io_s_sysopen): preserve path in the buffer allocated by
...
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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-06 15:15:12 +00:00
nobu
16d052477b
* io.c (rb_file_open_internal, rb_io_reopen): fname might be altered
...
while GC. [ruby-dev:24408]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-04 05:04:22 +00:00
matz
6f9dcadf6e
* string.c (rb_str_sum): check was done with false pointer.
...
[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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-02 03:50:53 +00:00
akiyoshi
a23bc67665
Update for VMS ports.
...
* dln.c (dln_load): Modify to call lib$find_image_symbol for VMS.
* io.c (rb_io_fwrite): Use fputc() for VMS non-stream file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-19 02:09:51 +00:00
matz
ecf157699d
* io.c (rb_io_reopen): should clear allocated OpenFile. pointed
...
out by Guy Decoux. [ruby-core:03288]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-17 08:31:02 +00:00