sorah
605f4baef7
* io.c: fix rdoc of IO.binwrite
to show same as IO.write
except
...
it opens file with mode "wb:ASCII-8BIT". [Bug #5782 ] [ruby-core:42592]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11 06:49:49 +00:00
nobu
825430438d
* io.c (pipe_open): cmd is no longer used if fork is available.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 07:36:00 +00:00
nobu
97d6e56b0e
* io.c (io_binwrite, rb_io_syswrite): use shared frozen source
...
strings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 09:47:47 +00:00
nobu
9b02a72d71
* io.c (io_fread, io_getpartial, rb_io_sysread): set buffer size
...
after check if readable, which can cause thread switch.
[ruby-dev:45297][Bug #6099 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 09:33:35 +00:00
usa
d74ccf8fc1
* io.c (rb_io_set_pos): add rdoc about textmode.
...
* test/ruby/test_io.rb (TestIO#test_setpos): use binmode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 11:46:43 +00:00
nobu
80429eed63
* io.c, process.c, time.c, ext: use rb_sys_fail_str instead of
...
rb_sys_fail.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 01:50:27 +00:00
nobu
eec0b2d88a
* dir.c (dir_inspect), io.c (rb_io_inspect): keep encoding of path.
...
[Bug #6072 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 22:53:51 +00:00
nobu
adcb7e9e7b
* dir.c, file.c, io.c (rb_sys_fail_path): use rb_sys_fail_str.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 07:48:34 +00:00
nobu
9acf2091e1
* dir.c, file.c, io.c: use rb_sys_fail_path.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 07:37:48 +00:00
nobu
b8729f117c
* io.c (set_binary_mode_with_seek_cur): reorder function qualifiers.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 07:13:24 +00:00
drbrain
0585853c69
* io.c (rb_io_f_sync): Fix double-negative typo. [ruby-trunk - #5837 ]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-23 02:00:39 +00:00
nobu
4341c58c39
* io.c (rb_io_extract_modeenc): fail only if conflicting
...
text/binary modes given explicitly. [ruby-dev:45268][Bug #6055 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 17:33:10 +00:00
nobu
31d8a97657
* io.c (rb_io_s_foreach): argument check before making Enumerator.
...
[ruby-dev:31525]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 08:36:25 +00:00
nobu
873b56fd50
* io.c (rb_io_s_foreach): return enumerator including kerword
...
arguments. [ruby-dev:45267][Bug #6054 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 08:07:38 +00:00
naruse
7eed0ca619
* io.c (io_strsetbuf): call rb_str_modify to make str independent
...
before calling rb_str_set_len for r34580.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 08:45:15 +00:00
nobu
52cb46337e
* io.c (io_setstrbuf): cut down the buffer if longer.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-14 07:00:33 +00:00
nobu
df77202b37
* io.c (io_setstrbuf): defer resizing buffer string until data is
...
read actually.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-13 09:30:40 +00:00
nobu
b7ef9fa2a4
* io.c (Init_IO): use directive hack to make ARGF documentable
...
in other tools. [ruby-core:42515][Bug #6007 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-13 01:24:45 +00:00
naruse
2a6ccf6c13
* io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.
...
r34409 breaks replacing ARGV.
[ruby-dev:45160] [Bug #5952 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 08:52:55 +00:00
nobu
0470ce53c5
* io.c (argf_close): skip stdin, which should be readable again.
...
[ruby-dev:45160] [Bug #5952 ]
* io.c (argf_readlines): reinitialize after all read to be
readable again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 21:39:00 +00:00
naruse
aa5b65b2ed
* io.c (extract_binmode): raise an exception if binmode/textmode
...
is specified with both vmode and opthash.
[ruby-core:42199] [Bug #5918 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-23 07:56:25 +00:00
naruse
e7d83904cb
* io.c (rb_io_extract_modeenc): set ASCII-8BIT if binmode is specified
...
with opthash. [ruby-core:42197] [Bug #5917 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-23 07:56:20 +00:00
drbrain
90943649fe
* io.c (rb_io_s_read): Fix formatting of open_args comment. Reported
...
by Adam Prescott.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-13 21:59:36 +00:00
shirosaki
68fde4449a
* io.c (rb_sys_fail_path): move the definition.
...
Move above for using it in set_binary_mode_with_seek_cur().
* io.c (set_binary_mode_with_seek_cur): fix improper seek cursor.
Seeking file cursor with setting binary mode has possibility to
cause infinite loop. Fixed the bug and refined error handling.
Introduced at r34043.
And cleanups as below.
Remove unnecessary parentheses of `fptr`.
Use return value of setmode().
* test/ruby/test_io_m17n.rb
(TestIO_M17N#test_seek_with_setting_binmode): add a test for abobe.
[ruby-core:41671] [Bug #5714 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 13:49:31 +00:00
marcandre
15e6d26049
* io.c: Improve rdoc for {File|IO}.write
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 07:07:46 +00:00
nobu
73768d54d3
* io.c (argf_type): make typed data.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 08:57:01 +00:00
usa
0c6103cf50
* win32/win32.c, include/ruby/win32.h (rb_w32_fd_is_text): new function.
...
* win32/win32.c (init_stdhandle): set default mode of stdin as binmode.
* io.c (set_binary_mode_with_seek_cur): new function to replace
SET_BINARY_MODE_WITH_SEEK_CUR macro. now returns previous mode of the
fd and take care of LF in rbuf.
* io.c (do_writeconv): set text mode when needed.
* io.c (io_read): need to change the mode of the IO to binmode
temporally when the length for IO#read, because IO#read with length
must behave so.
* test/ruby/test_io_m17n.rb (TestIO_M17N#est_{read_with_length,
read_with_length_binmode,get[cs]_and_read_with_binmode,
read_with_binmode_and_get[cs],read_write_with_binmode}): tests for
above changes.
all patches are written by Hiroshi Shirosaki. [ruby-core:41496]
[Feature #5714 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 10:38:12 +00:00
drbrain
12e7e79727
* io.c (Init_IO): Mention io/console methods. [Ruby 1.9 - Bug #5602 ]
...
* ext/io/console/console.c: Mention that io/console must be required
similar to lib/time.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-07 01:49:40 +00:00
nobu
b526738c3b
* bignum.c (big_rshift), compile.c (validate_label,
...
iseq_build_from_ary_exception), cont.c (cont_capture), dir.c
(dir_open_dir), gc.c (objspace_each_objects), io.c (pipe_open)
(rb_io_advise), parse.y (parser_compile_string)
(rb_parser_compile_file), proc.c (binding_free), process.c
(rb_proc_exec_n, rb_seteuid_core, proc_setegid, rb_setegid_core)
(p_uid_exchange, p_gid_exchange), regparse.c (strdup_with_null),
signal.c (sig_dfl), vm.c (rb_iseq_eval, rb_iseq_eval_main),
vm_insnhelper.c (vm_expandarray): suppress
unused-but-set-variable warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05 09:57:00 +00:00
nobu
39a9b9ba7e
* io.c: suppress unused-value warnings. fixup of r33937.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-04 23:56:59 +00:00
luislavena
f9a6a1dd0c
Introduce NEED_READCONV and NEED_WRITECONV to replace universal newline decorator
...
Use CRLF only when required to improve file reading and writing under Windows.
Patch by Hiroshi Shirosaki. [ruby-core:40706] [Feature #5562 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-04 01:10:06 +00:00
akr
eecacaa024
* io.c (linux_get_maxfd): change local variable name.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-01 13:31:58 +00:00
nobu
82d138f749
* io.c (rb_write_error2): suppress unused variable warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-29 00:58:28 +00:00
nobu
fb8ff8de93
* io.c (rb_write_error2): fwrite() returns ssize_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-28 03:57:31 +00:00
usa
02f9b4d606
* io.c (rb_io_flush): release GVL during fsync() on Windows.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-28 02:47:51 +00:00
kosaki
8cee31214d
* io.c (rb_write_error2): get rid of warning on linux. fwrite
...
of glibc is tagged __attribute__ ((__warn_unused_result__))
if _FORTIFY_SOURCE != 0.
* vm_dump.c (rb_vm_bugreport): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-27 12:06:10 +00:00
akr
5f652716ca
* io.c (copy_stream_body): use 0666 for permission argument for open.
...
[ruby-core:40865]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-26 15:18:05 +00:00
kosaki
aa23f6b9fd
* io.c (ioctl_narg_len, linux_iocparm_len): reinstantiate linux
...
specific narg length calculation.
* test/ruby/test_io.rb (test_ioctl_linux2): add new test for old and
unstructured ioctl.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-25 02:45:50 +00:00
akr
bee4e843ce
* io.c (rb_io_reopen): re-initialize buffereing mode for stdout and
...
stderr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-24 11:00:35 +00:00
kosaki
d7166624bf
Merge branch 'fsync-nogvl' into trunk
...
Conflicts:
ChangeLog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-24 02:57:57 +00:00
naruse
fd8d9d9dce
* io.c (ioctl_narg_len): don't use _IOC_SIZE macro on Linux.
...
On Linux some constants for ioctl(2) doesn't include the size of
its return value and 16bit value; for example FIONREAD 0x541B.
Moreover the manual, ioctl_list(2), says "Note that the size
bits are very unreliable: in lots of cases they are wrong,
either because of buggy macros using sizeof(sizeof(struct)),
or because of legacy values."
So we shouldn't use it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-23 11:24:49 +00:00
akr
08f8dfc20b
* io.c (linux_get_maxfd): get rid of a warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-21 15:26:12 +00:00
akr
f49f6ff1d7
* io.c (linux_get_maxfd): new function to find maximum fd on Linux.
...
(rb_close_before_exec): use linux_get_maxfd.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-21 14:40:09 +00:00
usa
44cff77b95
* io.c (rb_cloexec_open): set O_NOINHERIT instead of O_CLOEXEC if it is
...
available (for Windows).
* win32/win32.c (fcntl): on F_DUPFD, determine the inheritance of the
new handle by O_NOINHERIT flag of original fd.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-18 04:06:01 +00:00
usa
bbe004c1e4
* io.c (argf_next_argv): wrong timing of setting ecflags.
...
fixed the failure of TestArgf#test_textmode introduced at r33662.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-16 02:36:08 +00:00
akr
3d25acdccc
* io.c, thread.c, ext/pty/pty.c, ext/fiddle/closure.c: use
...
__linux__ macro for consistency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-15 11:09:47 +00:00
nobu
80c32b2330
* io.c (do_ioctl, ioctl_narg_len, setup_narg, rb_ioctl): use
...
ioctl_req_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-12 08:26:13 +00:00
nobu
9998578951
* ChangeLog, io.c: whitespace-cleanup.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-12 07:49:48 +00:00
kosaki
33817fbc29
* io.c (fcntl_narg_len): introduce narg calculation for fcntl instead
...
of hard coded 256.
* io.c (setup_narg): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-12 02:33:58 +00:00
kosaki
791f5449c1
* io.c (ioctl_narg_len): Linux doesn't have IOCPARM_LEN macro, but
...
has _IOC_SIZE. support it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-12 02:29:37 +00:00