summaryrefslogtreecommitdiff
path: root/io.c
AgeCommit message (Collapse)Author
2005-07-25* io.c: check HAVE_SYS_IOCTL_H before including the header.matz
[ruby-dev:26610] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-20* io.c (S_ISREG): need to define S_ISREG before it is used first.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-20don't use S_ISDIR.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-20* io.c (wsplit_p): patch for the environment whereocean
fcntl(F_GETFL, O_NONBLOCK) is not supported. in that case, set FMODE_WSPLIT without fcntl check. [ruby-dev:26566] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-20* io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLITakr
by F_SETFL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19* io.c (rb_io_inspect): replace sprintf() with "%s" format allmatz
over the place by snprintf() to avoid integer overflow. * sample/svr.rb: service can be stopped by ill-behaved client; use tsvr.rb instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-18* rubyio.h (FMODE_WSPLIT, FMODE_WSPLIT_INITIALIZED): new constant.akr
* io.c (wsplit_p): new function. (io_fflush): split writing data by PIPE_BUF if wsplit_p is true in multi-threaded mode. (io_fwrite): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-12* io.c (rb_io_eof, remain_size, read_all, io_read, appendline)akr
(swallow, rb_io_each_byte, rb_io_getc): revert previous change. * io.c (rb_io_eof, io_fread, appendline, swallow, rb_io_each_byte) (rb_io_getc, rb_getc): call clearerr before getc to avoid stdio incompatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-12* io.c (rb_io_eof, remain_size, read_all, io_read, appendline)akr
(swallow, rb_io_each_byte, rb_io_getc): don't rely EOF flag. [ruby-talk:141527] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-28* exception error messages updated. [ruby-core:04497]matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-25fix some documents.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-24fix IO#read docment.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-12* io.c (io_fread): don't warn nonblocking behavior by default.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-08* io.c (io_fread): warn nonblocking behavior.akr
(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
2004-12-25* stable version 1.8.2 released.matz
* 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-23* io.c (io_reopen, rb_io_reopen): prohibit to change access mode fornobu
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* io.c (io_reopen): restore exact mode. fixed: [ruby-core:04003]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23* io.c (io_reopen): readable flag was left unset for read-only IO.nobu
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-22* io.c (rb_io_mode_modenum): replace O_ACCMODE with O_RDWR.nobu
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-21* io.c (io_reopen): keep duplex pipe in correct mode for exceptionnobu
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-20* io.c (io_fwrite): workaround for MSVCRT's bug.usa
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* io.c (rb_io_eof): check if closed before clearerr().nobu
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-10* io.c (io_reopen): [ruby-dev:25150]matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-08* io.c (io_fwrite): change dereference for cosmetic reason.matz
* 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-07io.c (io_fwrite) : fix offset incrementation for VMS and Human68k.akiyoshi
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-07* io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050]matz
* 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-03* eval.c (proc_invoke): copy arguments to frame.argv.matz
[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-11-30* io.c (io_fread): need not to null terminate. [ruby-dev:24998]nobu
* 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-29* io.c (fptr_finalize): must not use FILE after fclose().nobu
[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-28don't use READ_DATA_PENDING in previous changeakr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-28* io.c (rb_io_check_writable): restrict io_seek byakr
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-27io.c (rb_io_fwrite): set path to NULLakr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-27* io.c: avoid avoid data loss with nonblocking fd andakr
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* io.c (io_fread): [ruby-dev:24964]matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-25* io.c (io_read): move StringValue() check before GetOpenFile().matz
[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* io.c (read_all): [ruby-dev:24955]matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-23* io.c (io_read): [ruby-dev:24952]matz
* 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-22* file.c (rb_file_chown): integer conversion should be prior tomatz
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-18* io.c, rubyio.h (rb_io_modenum_flags): exported.nobu
* 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-10* dir.c (rb_glob2): do not allocate buffer from heap to avoidmatz
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-05* string.c (rb_str_locktmp): check STR_TMPLOCK flag beforematz
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-04* typo, too. orzusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-04* io.c (rb_f_open): fix typo.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-03* io.c (pipe_open): fix compile errornagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01* eval.c (proc_invoke): nail down dyna_var node when Proc objectmatz
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-10-30* string.c (rb_str_locktmp): lock string temporarily.matz
* 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-29* io.c (rb_io_check_initialized): new function to check uninitializednobu
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-27* string.c (RESIZE_CAPA): check string attribute before modifyingmatz
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-26* io.c (rb_io_getline): rs modification check should not interfere in the loop.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19* io.c (read_all): block string buffer modification duringmatz
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