nobu
54198fca16
* io.c (remain_size): use buffered data instead of unreading to avoid
...
inconsistency of text mode. fixed: [ruby-dev:25446]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-11 11:59:00 +00:00
nobu
c744d6f62d
* io.c (rb_f_select): IO list could be altered. [ruby-dev:25312]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-09 05:12:29 +00:00
akr
16b5ba2707
update readpartial document.
...
don't try read timeout on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-08 18:18:36 +00:00
akr
571aa4db39
* io.c (argf_readpartial): new method ARGF.readpartial.
...
(io_getpartial): extracted from io_readpartial.
(io_readpartial): call io_getpartial.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-01 11:25:43 +00:00
akr
3b2de91dcf
* rubyio.h: don't deprecate rb_read_check.
...
* io.c (STDIO_READ_DATA_PENDING): reverted from old READ_DATA_PENDING
to check stdio read buffer.
(rb_read_check): use STDIO_READ_DATA_PENDING.
(rb_read_pending): ditto.
(rb_getc): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-30 13:49:56 +00:00
nobu
0ebc7c2bc9
* io.c (next_argv): reduce use of stdio.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 18:06:19 +00:00
nobu
a892f803ef
* 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/trunk@7649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 17:53:58 +00:00
akr
4ff1561a8c
* rubyio.h: rename FMODE_UNSEEKABLE to FMODE_DUPLEX.
...
* io.c (io_check_tty): extracted function to set FMODE_LINEBUF and
FMODE_DUPLEX.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 10:12:35 +00:00
nobu
f68ab9c2d9
* 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/trunk@7632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-22 02:15:35 +00:00
eban
b9c6120e07
* io.c (pipe_open): should set prog if argc != 0.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-09 03:34:47 +00:00
akr
78f7b7036b
* rubyio.h, io.c, ext/dl/dl.c, ext/pty/pty.c, ext/socket/socket.c:
...
create FILE object only when required: popen(3) and DL's IO#to_ptr.
[ruby-dev:25122]
* io.c (rb_io_binmode): use setmode for Human68k. [ruby-dev:25121]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-08 13:26:27 +00:00
usa
c3ce319d7d
* io.c (pipe_open): win32 bidirectional pipe support.
...
* win32/win32.[ch] (rb_w32_pipe_exec): ditto.
* win32/win32.[ch] (socketpair): new function. POSIX socketpair
emulation.
* win32/win32.c (socketpair_internal): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-07 15:47:59 +00:00
akr
a435e52259
* io.c (io_fwrite): avoid context switch before writing to stderr.
...
[ruby-dev:25080]
* rubyio.h: refine deprecated declaration.
* configure.in, file.c, io.c: remove useless check: fseeko, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-07 06:44:42 +00:00
matz
aa92750f27
* process.c (proc_setgroups): [ruby-dev:25081]
...
* re.c (rb_reg_eqq): document fix. [ruby-talk:122541]
* io.c (io_fread): take VALUE argument.
* ext/socket/socket.c (sock_connect): use rb_str_new4().
[ruby-dev:25052]
* eval.c (rb_yield_0): [ruby-dev:25051]
* io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050]
* io.c (io_fwrite): takes VALUE string as an argument.
[ruby-dev:25050]
* ext/socket/socket.c (sock_connect): remove rb_str_locktmp().
[ruby-dev:25050]
* ext/socket/socket.c (udp_connect): [ruby-dev:25045]
* ext/socket/socket.c (udp_bind): ditto.
* ext/socket/socket.c (udp_send): ditto.
* ext/socket/socket.c (bsock_send): ditto.
* ext/socket/socket.c (s_recvfrom): ditto.
* hash.c (rb_hash_hash): should provide "hash" method where "eql?"
is redefined. [ruby-talk:122482]
* ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 15:31:26 +00:00
eban
ee40e23864
* configure.in (ac_cv_sizeof_rlim_t): setup for DJGPP.
...
* io.c (is_socket, shutdown): define dummy macros for DJGPP.
* process.c: use SIZEOF_RLIM_T instead of HAVE_RLIM_T for DJGPP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 14:04:05 +00:00
usa
9e31b97465
* io.c (is_socket): fix typos. [ruby-core:03900]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 12:20:29 +00:00
usa
1acf7e6b01
* io.c (is_socket): new function.
...
* io.c (rb_io_close_read, rb_io_close_write): use is_socket().
* io.c (rb_io_fptr_finalize): need to check fptr->f before calling
rb_io_fptr_cleanup().
* io.c (pipe_open): win32 pipe support (experimental).
* win32/win32.[ch] (rb_w32_pipe_exec): return file descripters
instead of FILE structure.
* win32/win32.[ch] (rb_w32_is_socket): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 11:19:27 +00:00
akr
04f36c2bba
* rubyio.h, intern.h, io.c, file.c, process.c, ext/socket/socket.c,
...
ext/pty/pty.c, ext/io/wait/wait.c, ext/openssl/ossl_ssl.c:
Use own buffering mechanism instead of stdio.
* io.c, ext/stringio/stringio.c, test/ruby/ut_eof.rb:
EOF flag removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 08:40:30 +00:00
matz
5847fadf7b
* io.c (rb_file_initialize): [ruby-dev:25032]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-02 15:17:35 +00:00
matz
aa997fca3e
* io.c (rb_io_ctl): [ruby-dev:25019]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-02 00:27:27 +00:00
nobu
6f1b13de99
* io.c (pipe_open): errno should be preserved for rb_sys_fail() when
...
fork failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-30 14:49:18 +00:00
matz
e6e84eab64
* 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_readpartial): ditto.
* io.c (io_read): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-30 09:36:39 +00:00
matz
c0acb3ce17
* io.c (rb_io_sysread): use temporary lock. [ruby-dev:24992]
...
* lib/ostruct.rb (OpenStruct::method_missing): check method
duplication for -d.
* lib/ostruct.rb (OpenStruct::initialize): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 15:58:18 +00:00
matz
83cb605d69
* object.c (convert_type): [ruby-core:03845]
...
* eval.c (rb_funcall_rescue): new function.
* object.c (rb_Array): avoid using rb_respond_to().
* object.c (rb_Integer): ditto.
* eval.c (get_backtrace): no conversion for nil.
* parse.y (reduce_nodes): empty body should return nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 06:09:40 +00:00
nobu
fa69f28eb5
* io.c (fptr_finalize): must not use FILE after fclose().
...
[ruby-dev:24985]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 04:38:08 +00:00
akr
a8f25ded9c
don't use READ_DATA_PENDING in previous change
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-28 17:02:14 +00:00
akr
06646d1b4e
* 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/trunk@7404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-28 16:31:12 +00:00
akr
39eac7ded8
io.c (rb_io_fwrite): set path to NULL
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-27 14:08:45 +00:00
akr
b70e88a123
* 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/trunk@7392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-27 13:05:46 +00:00
matz
65445b53ca
* io.c (io_fread): [ruby-dev:24964]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-27 02:21:53 +00:00
matz
6d0f22ebc6
* io.c (rb_io_initialize): [ruby-dev:24963]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-26 06:27:45 +00:00
matz
c97c359053
* io.c (rb_io_initialize): [ruby-dev:24962]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-26 05:30:45 +00:00
matz
9e5c4cde2f
* io.c (rb_io_initialize): should retrieve flags from copying file
...
descriptor. [ruby-dev:24961]
* eval.c (method_missing): raise TypeError for classes do not
have allocators. [ruby-core:03752]
* lib/erb.rb: [ruby-core:03786]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-26 04:50:36 +00:00
matz
84bd21465e
* io.c (io_read): move StringValue() check before GetOpenFile().
...
[ruby-dev:24959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-25 15:23:19 +00:00
matz
51c48c29d8
* configure.in: AC_PREREQ(2.53) [ruby-core:03800]
...
* io.c (read_all): [ruby-dev:24955]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-25 01:58:31 +00:00
matz
0f2fdc6978
* 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/trunk@7361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-23 17:37:51 +00:00
matz
e66752a0ed
* io.c (io_read): [ruby-dev:24952]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-23 16:04:16 +00:00
aamine
aafc487d6a
* io.c (rb_io_getline): f.gets("") did not work. [ruby-core:03771]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-20 14:26:23 +00:00
eban
e62aac9424
* io.c (__fpending): commit miss.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-20 12:18:16 +00:00
eban
9b25eee46e
* io.c (io_reopen): work around problem with Cygwin fseeko
...
returning ESPIPE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-20 08:49:16 +00:00
matz
77a23fba35
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-19 16:59:11 +00:00
nobu
27e4aa4a93
* 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/trunk@7304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-18 01:11:01 +00:00
matz
683400f427
* 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/trunk@7242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-10 07:17:53 +00:00
usa
7b45f99288
* io.c (pipe_open): need to set cmd if argc == 0 (win32).
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-02 05:54:45 +00:00
matz
4727632f01
* io.c (pipe_open): IO.popen should take array as 1st argument for
...
a command line. [ruby-dev:24678]
* io.c (rb_io_s_popen): do not expand argv array. [ruby-dev:24670]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-02 05:33:11 +00:00
matz
1d1b8102bc
* eval.c (proc_invoke): nail down dyna_var node when Proc object
...
or continuation is created. [ruby-dev:24671]
* io.c (rb_io_s_popen): do not expand argv array. [ruby-dev:24670]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 23:49:16 +00:00
usa
aa23bfaf08
* io.c (pipe_open): avoid conflict of variable name. [ruby-dev:24662]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 02:55:29 +00:00
matz
8db864c999
* io.c (rb_f_open): create copy of popen specifier. [ruby-dev:24656]
...
* 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/trunk@7162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-31 17:37:52 +00:00
nobu
9f5f676d82
* 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/trunk@7140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-29 12:28:32 +00:00
matz
b0dee8f90d
* eval.c (ruby_cleanup): ruby_finalize_1 may cause exception,
...
should be wrapped by PUSH_TAG/POP_TAG(). [ruby-dev:24627]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-29 01:06:37 +00:00