usa
da1db8b454
* io.c (rb_io_s_pipe): potential bug. the mode of read IO is set as
...
DEFAULT_TEXTMODE in call of io_set_encoding(), and of write IO is
also set as it in call of io_new_instance() via rb_protect().
so, if DEFAULT_TEXTMODE is not 0, we should check the result of
extract_binmode() and avoid crush of default IO mode and the result.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31 05:21:36 +00:00
naruse
9efb5a9d6a
* io.c (fill_cbuf): return MORE_CHAR_SUSPENDED when cbuf is not empty.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-27 18:06:42 +00:00
kosaki
78271e8c72
* io.c (fill_cbuf): Fix test-all crash.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-27 17:09:27 +00:00
nobu
b5bc09d234
* io.c (validate_enc_binmode): do not clear textmode flag if
...
default. fixed #4732
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-27 13:45:12 +00:00
nobu
9909c67583
* io.c (fill_cbuf): finish reading at EOF.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-27 13:38:56 +00:00
kosaki
67cf354b46
* io.c (rb_io_extract_modeenc): accept combination hash and
...
File::Constants. (eg. File.open('yo', :mode => File::WRONLY))
[Feature #4742 ][ruby-core:36338]
* test/ruby/test_io.rb (TestIO#test_open_mode): new test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-21 13:20:43 +00:00
kosaki
898374126e
revert O_CLOEXEC patch series completely.
...
because boron chkbuild test result says, An old linux kernel ignore O_CLOEXEC
silently instead of return an error. It may lead to bring new security risk.
So, we have to be pending it until finish to implement proper fallback logic.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-19 12:18:41 +00:00
nobu
3a47cf3395
* remove trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
kosaki
836a8cf214
* io.c (select_internal): remove unused variable (interrupt_flag).
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-12 17:16:21 +00:00
kosaki
be62297f92
* io.c (Init_IO): Added File::CLOEXEC constant. [ruby-core:22893] [Feature #1291 ]
...
* test/ruby/test_io.rb (TestIO#test_o_cloexec): test for File::CLOEXEC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-04 11:29:24 +00:00
kosaki
d7fa4d837e
* io.c (rb_f_select): remove useless ifdef.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-04 02:54:34 +00:00
kosaki
9be37ca7d5
* thread.c (rb_wait_for_single_fd): new.
...
* thread.c (select_single): select(2) based backend for rb_wait_for_single_fd().
* io.c (make_writeconv): use rb_wait_for_single_fd() instaed of
rb_thread_fd_select().
* io.c (rb_io_wait_readable): ditto.
* thread.c (rb_thread_wait_fd_rw): ditto.
* io.c (wait_readable): removed.
* thread.c (init_set_fd): new helper function.
* include/ruby/io.h (RB_WAITFD_IN, RB_WAITFD_PRI, RB_WAITFD_OUT):
new constant for rb_single_wait_fd().
The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-04 00:59:57 +00:00
kosaki
2d2544c8e6
* include/ruby/intern.h (rb_thread_select): mark as deprecated.
...
* ext/io/wait/wait.c (wait_readable): use rb_thread_fd_select
instead of rb_thread_select.
* ext/socket/init.c (wait_connectable0): ditto.
* ext/readline/readline.c (readline_event): ditto.
* io.c (rb_io_wait_readable, wait_readable, rb_io_wait_writable,
wait_writable): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-30 11:15:15 +00:00
kosaki
98c7ca9b65
* io.c (copy_stream_body, rb_io_s_copy_stream): move rb_fd_init()
...
from copy_stream_body to rb_io_s_copy_stream. fds of passing
rb_fd_term() have to be guaranteed initialized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-30 07:30:45 +00:00
nobu
85c1d5d41d
* io.c (make_writeconv): do not add textmode newline decorator if any
...
newline decorator is set already. fixes #4618 , fixes #4619
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-29 01:24:54 +00:00
nobu
9c48e59907
* io.c (rb_io_extract_modeenc, rb_f_backquote): set default text
...
mode. fixes #4619
* io.c (pipe_open): set universal newline decorator if needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-27 21:06:59 +00:00
nobu
8761467727
* io.c (validate_enc_binmode, rb_io_extract_modeenc): set newline
...
decorator according to open mode.
* transcode.c (rb_econv_prepare_options): new function, to prepare
econv options with newline flags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-26 15:55:21 +00:00
kazu
fb7f3bf37c
* io.c (rb_f_syscall): reduce warning: "HAVE___SYSCALL" is not defined.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-14 07:02:54 +00:00
kazu
c5a284aa17
* io.c (rb_io_fdatasync): remove unused variable.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-13 11:22:34 +00:00
kosaki
0f771e33e2
* io.c: revert r31230.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-11 12:52:22 +00:00
kosaki
3ba502d5f0
* io.c (rb_io_syswrite): While local FS writes are usually
...
buffered, the buffers can be full or the file opened with
O_SYNC. IO#syswrite can also be used on blocking IOs
(pipe/socket) just like IO#write.
The patch is written by Eric Wong. [ruby-core:35554]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-04 12:43:28 +00:00
kosaki
f4755f214c
* configure.in: disable fdatasync again on Mac OS X.
...
[ruby-core:35493][Bug #4500 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-03 12:35:29 +00:00
kosaki
f35a7770cd
* io.c (io_reopen): IO#close releases GVL if possible.
...
close() may block for certain file types (NFS, SO_LINGER
sockets, inotify), so let other threads run. The patch was
created by Eric Wong [ruby-core:35555][Bug #4527 ]
* io.c (fptr_finalize): ditto.
* io.c (maygvl_fclose): new.
* io.c (nogvl_fclose): ditto.
* io.c (maygvl_close): ditto.
* io.c (nogvl_close): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-03 12:23:59 +00:00
kosaki
b2a8d109b6
* io.c (io_cntl): use rb_thread_io_blocking_region() instead
...
rb_thread_blocking_region().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-05 18:23:55 +00:00
kosaki
c0359f8176
* io.c (io_cntl, nogvl_io_cntl): IO.fcntl() and IO.ioctl()
...
release GVL during calling kernel interface.
Suggested by Eric Wong. [ruby-core:35417][Bug #4463 ]
* test/ruby/test_io.rb (TestIO#test_fcntl_lock): add new test for
IO.fcntl().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-04 16:38:34 +00:00
kosaki
ff07709777
* io.c (io_cntl): change 'cmd' type to int. ioctl and fcntl need to
...
be passed int.
* io.c (rb_io_ctl): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-04 13:02:45 +00:00
nobu
e7c0a6e1d7
* prevent temporary objects from GC, and should not use
...
RSTRING_PTR() for function calls since it evaluates the argument
a couple of times.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-20 07:23:55 +00:00
nobu
58b325366d
* thread.c (rb_thread_io_blocking_region): new function to run
...
blocking region with GIL released, for fd.
* thread.c (rb_thread_fd_close): implement. [ruby-core:35203]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-12 05:44:23 +00:00
kosaki
0559227e87
* io.c (rb_io_s_sysopen): use NUM2MODET() instead NUM2UINT().
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-08 07:04:45 +00:00
kosaki
3722e3a29a
* io.c (rb_io_fdatasync): Use fsync(2) if if the underlying
...
operating system does not support fdatasync(2).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-02 08:11:29 +00:00
kanemoto
2a5177e757
io.c (struct argf): char behaves like an unsigned char by default on AIX.
...
http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/index.jsp?topic=/com.ibm.xlcpp111.aix.doc/language_ref/ch.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-30 01:02:46 +00:00
kosaki
4afa5fead8
* io.c (rb_io_open): Use NUM2MODET() instead NUM2UINT().
...
* io.c (rb_scan_open_args): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 02:23:58 +00:00
nobu
7909af18ed
* io.c (argf_next_argv): go advance when the next file cannot be
...
read. [ruby-core:34446]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-13 22:30:50 +00:00
kosaki
b1f8bbf4f7
* io.c (rb_f_syscall): Add warning messages. [ruby-core:34062]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 14:22:39 +00:00
kosaki
da235830b5
* io.c (rb_f_syscall): Some syscall return unsigned or pointer value.
...
Therefore we should only check the result is -1 or not. [ruby-core:34062]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 14:16:01 +00:00
kosaki
caab5dcee7
* io.c (rb_f_syscall): Add 64bit Linux support. Some syscall takes
...
long type arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 14:11:06 +00:00
yugui
45493bb28a
* io.c (Kernel.#syscall): implemented on LP64/LLP64 environments too.
...
also uses __syscall if available for *BSD on 64bit architecture.
[ruby-core:34062]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-09 07:39:22 +00:00
akr
d3b337c58d
fix spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-08 13:07:20 +00:00
nobu
ae167e1e79
* io.c (maygvl_copy_stream_wait_readwrite): define if USE_SENDFILE
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-29 12:20:16 +00:00
kazu
1f4401ebe0
fix a typo
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-27 22:27:13 +00:00
kosaki
085e40d45b
* io.c (advice_arg_check): Change argument check.
...
Now, an unsupported advice makes NotImplementedError.
[ruby-dev:42887] [Ruby 1.9-Feature#4204]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 17:25:02 +00:00
kosaki
c9958d6ab4
* io.c (pipe_open): Added rb_thread_atfork(). We must reinitialize
...
GVL at new process creation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 10:22:48 +00:00
nobu
522c538e93
* io.c (rb_io_extract_encoding_option): accept Encoding object as
...
encoding: optional argument. [ruby-dev:42884]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 05:27:12 +00:00
tarui
da4d3e8464
* io.c : add an extra byte to buffer for the specification of read
...
in Windows. see [ruby-core:33460] and r29980. and, we have to
discuss how to do this one byte.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-20 16:45:08 +00:00
kosaki
a3ba982c75
* io.c (Init_IO): Added O_DIRECT. This feature was propsed by Run Paint Run Run.
...
[Feature #4015 ] [ruby-core:33018]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-19 16:18:16 +00:00
nobu
2d39e5265f
* io.c: removed garbage line.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 22:08:50 +00:00
nobu
594ab9c8fd
* io.c (rb_io_advise): removed unused variable, and fix indent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 22:06:33 +00:00
kosaki
39058e1d87
Fix indentation
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 15:36:49 +00:00
kosaki
cc9b886691
* io.c (rb_io_advise): New API. IO#advise() allows to tell the
...
ruby runtime how it expects to use a file handle. This feature
can be improved a performance some situations.
Note: This feature is mainly developed by Run Paint Run Run.
Thank you! [ruby-core:33110] [Ruby 1.9-Feature#4038]
* io.c (do_io_advise): Helper function.
* io.c (io_advise_sym_to_const): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 15:01:55 +00:00
akr
e5ad455a08
* io.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 12:53:09 +00:00
nobu
b2c7ef2f76
* io.c (nogvl_copy_stream_sendfile): fix missing condition.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-15 02:22:08 +00:00
nobu
eb36519b96
* io.c (simple_sendfile): enable on Mac OS X.
...
* io.c (nogvl_copy_stream_sendfile): moved precheck of copy length.
* io.c (nogvl_copy_stream_sendfile): should wait for both of
read/write fds.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-15 02:07:37 +00:00
naruse
bdd3f75598
* io.c (simple_sendfile): improve linux compatibility on FreeBSD,
...
and now it works. But without cpuset -l 0, it still gets stuck.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-14 15:01:32 +00:00
naruse
903538cbb3
* io.c (simple_sendfile): disable the use of sendfile(2) on
...
FreeBSD. It blocks on TestIO#test_copy_stream_socket.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 12:28:09 +00:00
naruse
7d481b5423
* io.c: define USE_SENDFILE on FreeBSD or DragonFly BSD.
...
Remove Mac OS X because its argument is different from them.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 09:37:09 +00:00
naruse
b36c91b6b5
* io.c (simple_sendfile): added for BSD version of sendfile(2).
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 02:34:50 +00:00
tarui
9865ee2c46
* io.c (io_read): duplicate string if shared. [ruby-dev:42719]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-07 13:38:36 +00:00
nobu
bc8b100873
* io.c (struct argf): make lineno long, and reorder members.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-28 05:56:39 +00:00
luislavena
ac0f5a53b6
* io.c (io_fwrite): use rb_w32_write_console under Windows.
...
* win32/win32.c (rb_w32_write_console): added to write to write
Unicode using WriteConsoleW for stdout/stderr. [ruby-core:33166]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 19:49:58 +00:00
nobu
c6e4767068
* include/ruby/io.h (rb_io_buffer_t): extract from rb_io_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-18 13:58:47 +00:00
nobu
f2dd4eb3cc
* io.c (argf_readlines): forward to current_file for arguments
...
check. http://twitter.com/nagachika/status/3634254856589312
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-14 03:05:29 +00:00
nobu
a77d2ac5ba
* io.c (argf_close): untie tied io before closing.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 14:03:17 +00:00
nobu
41131d4215
* io.c (argf_write): add ARGF.write and so on.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:56:16 +00:00
nobu
b3dcfcf22b
* io.c (argf_read_nonblock): add ARGF.read_nonblock.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:52:18 +00:00
nobu
db0ebb32c9
* io.c (pipe_finalize): status is success if no process.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:26:30 +00:00
nobu
ee388f6ee2
* io.c (rb_io_readlines, rb_io_each_line): limit must not be zero.
...
a patch from Tomoyuki Chikanaga at [ruby-dev:42538]. #4024
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-04 15:39:07 +00:00
naruse
f1dc85e237
* io.c (rb_f_select): change rdoc.
...
patched by Eito Katagiri [ruby-core:31805]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-21 07:09:17 +00:00
naruse
d835a87cc1
* io.c (rb_f_select): add correct rdoc.
...
patched by Dave Thomas [ruby-core:32467]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-21 06:51:49 +00:00
nobu
a176b065d2
* io.c (rb_io_ctl), parse.y (LVAR_USED): suppress warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 15:10:04 +00:00
naruse
b487f7881f
* io.c (rb_io_ungetc): always see Bignum. On 32bit valid value
...
may be a Bignum. On 64bit for errors. [ruby-dev:42366]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 09:30:42 +00:00
naruse
7587eb706a
* io.c (rb_io_ungetc): use unsigned int for GB18030.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 06:37:27 +00:00
naruse
0a8f047a98
* io.c (rb_io_putc): support multibyte characters.
...
[ruby-core:30697]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 06:18:11 +00:00
naruse
e1646652e7
* io.c (rb_io_set_encoding): use rb_funcall2 when the io is not
...
a T_FILE. [ruby-dev:42356]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-10 21:29:29 +00:00
nobu
915ae780c3
* io.c (fptr_finalize): write_mutex might have been destroyed
...
already in finalization phase, as the order of finalizers is not
guaranteed. rb_mutex_t should be used in place of Mutex object
in the future.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-06 02:52:26 +00:00
nobu
61ee785c61
* io.c (rb_io_puts): fix for wide char encoding strings.
...
[ruby-dev:42212]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-15 00:12:05 +00:00
knu
82abe79b9f
* class.c (rb_scan_args): Add support for optional keyword
...
argument hash.
* README.EXT, README.EXT.ja: Update documentation accordingly.
* dir.c (dir_initialize): Make use of the new rb_scan_args()
feature.
* io.c (rb_io_s_popen, rb_scan_open_args, rb_io_initialize)
(rb_io_s_pipe, open_key_args, io_s_foreach, io_s_readlines)
(rb_io_s_read, rb_io_set_encoding): Ditto.
* transcode.c (str_transcode, econv_args)
(econv_primitive_convert): Ditto.
* ext/zlib/zlib.c (rb_gzreader_initialize): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-10 07:51:58 +00:00
nobu
aa5c05b8ba
* ext/pty/pty.c (chfunc): pass through exceptions.
...
* io.c (rb_io_bufwrite, rb_io_bufread): added.
* process.c (rb_fork_err): protect from exceptions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-02 21:40:55 +00:00
nobu
909477ec1d
* file.c (null_device): move from io.c.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-27 06:26:41 +00:00
nobu
3e5e1b6c45
* io.c (null_device): the name of null device. [ruby-dev:41791]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-27 03:25:08 +00:00
nobu
dccf9e0c45
* configure.in, include/ruby/defines.h (RUBY_FUNC_EXPORTED): macro
...
to declare exported function.
* array.c (rb_ary_memsize), string.c (rb_str_memsize),
variable.c (rb_objspace_data_type_memsize): used in
objspace. [ruby-dev:42022]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 06:33:06 +00:00
nobu
a23b1f7450
* io.c (rb_io_memsize): constified.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 06:19:57 +00:00
akr
8488b62d59
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 23:30:45 +00:00
nobu
a3419bc919
* io.c (io_flush_buffer): write and buffer operations should be
...
monolithic. [ruby-core:31348]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-20 03:50:41 +00:00
akr
5bf4c6a635
* io.c (nogvl_copy_stream_sendfile): jump to retry_sendfile directly
...
to avoid select() on a socket which TCP state is CLOSED.
patch by Eric Wong. [ruby-core:31053]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-06 13:59:12 +00:00
nobu
6fb59decd0
* io.c (swallow, prepare_getline_args, rb_io_getline_1): fix for
...
paragraph mode reading in non-ascii-compatible encoding.
[ruby-dev:41803]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-04 08:13:15 +00:00
usa
09ee12bb20
* io.c (argf_inplace_mode_set): prohibits an assignment of a tainted
...
value.
* file.c (ruby_find_basename, ruby_find_extname): split from
rb_file_s_basename() and rb_file_s_extname().
* util.c (ruby_add_suffix): support arbitrary length of the suffix
to get rid of the potential buffer overflow.
reported by tarui.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-02 14:31:26 +00:00
nobu
a67f1a9534
* include/ruby/io.h, io.c: reverted r21709.
...
* ruby.c (load_file_internal): nothing to read if EOF reached
while reading shebang. [ruby-core:30910]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-27 14:31:19 +00:00
akr
d9edd4ca87
* io.c (simple_sendfile): don't try to send data more than SSIZE_MAX
...
with single sendfile call..
based on the patch by Eric Wong. [ruby-core:30908]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-27 04:30:31 +00:00
nobu
6e708d72bb
* io.c (argf_next_argv): check for setting owner/group.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-22 21:43:02 +00:00
marcandre
fde37bb6e3
* io.c: rdoc fix for ARGF.lineno; cf. [ruby-core:29048]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-22 05:45:22 +00:00
matz
622fb1ca50
* io.c (rb_f_syscall): should check argument string taint before
...
invoking system calls.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-12 01:05:20 +00:00
matz
020bd635ac
* io.c (rb_io_putc): documentation updated to mention putc would
...
not work well with multi-byte characters. [ruby-core:30697]
* io.c (rb_f_putc): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-10 00:11:26 +00:00
nobu
c9331864f8
* io.c (parse_mode_enc): set set_by_bom bit. [ruby-core:30641]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-07 21:04:56 +00:00
tarui
f8bdd8dd08
* io.c (pipe_open): add RB_GC_GUARD.
...
This caused failure when test/ruby/test_argf.rb is executed with
GC.stress = true in mswin32_90
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 16:16:39 +00:00
nobu
45f6fbf339
* removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 18:51:39 +00:00
marcandre
c5b5ab0935
* enum.c: Documentation: small fixes
...
* file.c: ditto
* io.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:51:01 +00:00
marcandre
c1ecff1b1e
* hash.c: Documentation: change => in call-seq to ->.
...
* enum.c: Documentation: whitespace fix for r27865
* error.c: ditto
* file.c: ditto
* io.c: ditto
* load.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:31:22 +00:00
marcandre
7729de4d91
* array.c: Documentation: change => in call-seq to ->.
...
Harmonize "#=>" in examples. [ruby-core:30206]
* bignum.c: ditto
* class.c: ditto
* compar.c: ditto
* cont.c: ditto
* dir.c: ditto
* encoding.c: ditto
* enum.c: ditto
* enumerator.c: ditto
* error.c: ditto
* eval.c: ditto
* file.c: ditto
* gc.c: ditto
* io.c: ditto
* load.c: ditto
* marshal.c: ditto
* math.c: ditto
* numeric.c: ditto
* object.c: ditto
* pack.c: ditto
* proc.c: ditto
* process.c: ditto
* random.c: ditto
* range.c: ditto
* re.c: ditto
* ruby.c: ditto
* signal.c: ditto
* sprintf.c: ditto
* string.c: ditto
* struct.c: ditto
* thread.c: ditto
* time.c: ditto
* transcode.c: ditto
* variable.c: ditto
* vm_eval.c: ditto
* vm_method.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
usa
daac3ed0b4
* io.c (swallow): should use more_char() instead of fill_cbuf().
...
suggested by akr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 09:16:32 +00:00
marcandre
4afa9ed041
* array.c: Harmonize documentation, in particular regarding:
...
- methods returning enumerators
- array methods and argument naming (array -> ary, an_array -> new_ary)
- minor improvements, typo fixed and styling issues
Other documentation errors fixed:
- return value was self instead of a new array (or vice-versa) for
Array#{pop,shift,permutation,repeated_permutation,keep_if}
- Array#rindex was missing the form with a block.
* dir.c: ditto.
* enum.c: ditto. Modified Enumerable#reverse_each' documentation to clarify
that #each will be finish before any element is yielded.
* error.c: ditto.
* gc.c: ditto.
* hash.c: ditto.
* io.c: ditto. IO#{codepoints,each_codepoint} fixed as per [ruby-core:23948]
* numeric.c: ditto.
* range.c: ditto.
* string.c: ditto.
* struct.c: ditto.
* vm_eval.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 05:49:55 +00:00
usa
44d8ab7203
* io.c (swallow): small optimize.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 04:03:01 +00:00
usa
ef7992801d
* io.c (swallow): support text mode and UTF-16/32 as internal encoding.
...
* io.c (io_shift_cbuf): read and throw it away when str is NULL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 03:55:19 +00:00
usa
fe0d339c2c
* win32/win32.c, include/ruby/win32.h (rb_w32_has_cancel_io): new
...
function.
* io.c (WAIT_FD_IN_WIN32): check only when it's not cancelable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-10 05:02:44 +00:00
kazu
81f4dba385
* io.c (nogvl_copy_stream_sendfile): ISO C90 forbids mixed declarations and code.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 22:13:02 +00:00
marcandre
1dee5e34a3
* error.c: RDoc for subclasses of Exception. [ruby-core:28394]
...
* cont.c: ditto
* enumerator.c: ditto
* io.c: ditto
* math.c: ditto
* numeric.c: ditto
* proc.c: ditto
* re.c: ditto
* thread.c: ditto
* transcode.c: ditto. Thanks to Run Paint for some of the documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 04:50:09 +00:00
naruse
e6ccffd966
Add rdoc about IO#read(length). [ruby-core:29161]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-03 22:17:49 +00:00
usa
6c28f99d88
* merge some patches from win32-uncode-test branch.
...
see #1685 .
* file.c, include/ruby/intern.h (rb_str_encode_ospath): new function
to convert encoding for pathname.
* win32.c, include/ruby/win32.h (rb_w32_ulink, rb_w32_urename,
rb_w32_ustati64, rb_w32_uopen, rb_w32_uutime, rb_w32_uchdir,
rb_w32_umkdir, rb_w32_urmdir, rb_w32_uunlink): new functions to
accept UTF-8 path.
* win32/win32.c (rb_w32_opendir, link, rb_w32_stati64, rb_w32_utime,
rb_w32_unlink): use WCHAR path internally.
* file.c (rb_stat, eaccess, access_internal, rb_file_s_ftype,
chmod_internal, rb_file_chmod, rb_file_chown, utime_internal,
rb_file_s_link, unlink_internal, rb_file_s_rename): use UTF-8 version
functions on Win32.
* file.c (apply2files, rb_stat, rb_file_s_lstat, rb_file_symlink_p,
rb_file_readable_p, rb_file_writable_p, rb_file_executable_p,
check3rdbyte, rb_file_identical_p, rb_file_chmod, rb_file_chown,
rb_file_s_link, rb_file_s_symlink, rb_file_s_rename): call
rb_str_encode_ospath() before passing the path to system.
* io.c (rb_sysopen): ditto.
* dir.c (dir_chdir, dir_s_mkdir, dir_s_rmdir): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 17:56:23 +00:00
nobu
bfeeb913fe
* io.c (seek_before_access): fixed argument type.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 17:22:32 +00:00
nobu
55181301ae
* io.c (seek_before_access): renamed. see [ruby-core:29861].
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 02:20:58 +00:00
nobu
e1c34852dc
* io.c (rb_io_s_binread): fixed rdoc. parts of a patch from Roger
...
Pack in [ruby-core:29861].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 02:17:12 +00:00
akr
87ba383aa3
* io.c (select_internal): IO which cbuf is not empty is readable.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 21:21:07 +00:00
nobu
8ebadc63f4
* io.c (ruby_dup): update max fd.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-25 14:50:10 +00:00
akr
ba2ee2f04c
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24 12:00:56 +00:00
akr
02efdb4845
update document.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24 06:05:34 +00:00
akr
78db46b31c
* io.c: raise IOError when byte oriented operations occur with
...
non-empty character buffer.
[ruby-dev:40493] [ruby-dev:40506]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24 05:42:50 +00:00
naruse
4131d6176a
* io.c (io_getc): fix incomplete character immediately before EOF
...
with newline converter. [ruby-dev:41024]
run test only when "Create Shortcut (&S)" menu is found.
* lib/rexml/parsers/xpathparser.rb (PathExpr): ditto.
* lib/matrix.rb (Vector#each): make Vector enumerable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 06:37:18 +00:00
naruse
8a269f85a0
* io.c (io_getc): set read_encoding to resulted one character
...
string. [ruby-dev:41023]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 18:19:01 +00:00
usa
ef3ea2dd89
* io.c: fixed the wrong description of rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 13:53:08 +00:00
usa
57e50f7f88
* io.c: rdoc. see [ruby-dev:40506].
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 13:40:15 +00:00
nobu
a91d8b8c33
* io.c (internal_{read,write}_func, rb_{read,write}_internal):
...
reverted r27265, since now rb_thread_blocking_region() preserves
errno.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-19 15:41:27 +00:00
mame
d6f289b0ff
* io.c (rb_io_rewind, rb_io_eof): add rdoc. based on a patch from
...
Roger Pack in [ruby-core:26771] [Bug #2377 ].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-16 16:36:08 +00:00
nobu
8e7a682be0
* io.c (io_shift_cbuf): should terminate.
...
http://golf.shinh.org/p.rb?DECimal+number+to+BINary#Ruby
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-14 08:56:11 +00:00
kazu
0a6d09330c
* io.c (rb_io_getline_fast, rb_io_getline_1): fix ARGF.lineno behavior. [ruby-core:25205]
...
* test/ruby/test_argf.rb (TestArgf#test_lineno3): add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-11 15:56:43 +00:00
nobu
92de2ed517
* io.c (internal_{read,write}_func, rb_{read,write}_internal):
...
preserve errno. a patch from Takehiro Kubo in [ruby-core:29340].
[ruby-core:28924]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-08 16:27:42 +00:00
nobu
171131061e
* io.c (rb_io_initialize): fixed a rdoc miss that textmode and
...
bimode flag explanation was reversed each other. a patch from
Heesob Park in [ruby-core:29166].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 02:36:33 +00:00
nobu
ed2dd5e3f4
* io.c (rb_io_initialize): add autoclose argument to control close
...
at finalization. [ruby-core:26222]
* io.c (rb_io_autoclose_p, rb_io_set_autoclose): new methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-21 10:52:31 +00:00
nobu
cce4892c1f
* io.c (IO_RBUF_CAPA_FOR): use large buffer as cbuf if readconv is
...
needed for performance improvement. based on a patch by Roger Pack
in [ruby-core:28163]. [ruby-core:28162]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-21 08:57:55 +00:00
nobu
f623979f65
* io.c (IO_[CRW]BUF_CAPA_MIN): replaced magic numbers.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-21 00:43:07 +00:00
matz
01657b51f8
* io.c (rb_io_print): RDoc update. a patch from Daniel Kelley
...
in [ruby-core:28643].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-15 08:43:45 +00:00
nobu
32ed00ab18
* io.c (rb_io_each_codepoint): read directly when readconv is
...
needed but internal encoding is not set. [ruby-core:28650]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-14 19:41:32 +00:00
matz
05d4516145
* io.c (rb_io_print): should not print field separator at the end
...
of arguments. [ruby-talk:358633]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-13 06:59:37 +00:00
marcandre
51ae7f6e9a
* io.c: Fix documentation for each/each_line/lines, bytes/each_byte,
...
codepoints/each_code_point [ruby-core:23948]
* string.c: ditto
* ext/stringio/stringio.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-07 10:22:05 +00:00
mame
e796e95ec8
* io.c (rb_io_s_write, rb_io_s_binwrite): delete File#write and
...
#binwrite. It may take a long time to make them stable, so 1.9.2
should not include them. We need refactoring to implement them
again.
* test/ruby/test_io.rb: delete tests for them.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-06 04:52:31 +00:00
mame
127cfd1174
* io.c (rb_io_s_binwrite): use mode "r+b" instead of "ab" to handle
...
offset correctly. [ruby-core:28517]
* test/ruby/test_io.rb: use assert_equal instead of assert.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-06 01:06:57 +00:00
nobu
4bcae18e37
* io.c (pipe_open): suppressed a warning.
...
* win32/win32.c (rb_w32_map_errno, winnt_stat, rb_chsize): ditto.
* win32/win32.c (rb_w32_aspawn): get rid of overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-05 08:51:12 +00:00
mame
ae2065a285
* io.c (io_s_write, io_s_binwrite): add File#write and #binwrite.
...
[ruby-core:21701]
* test/ruby/test_io.rb: add tests for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-04 13:48:20 +00:00
mame
a0ff5cae7c
* io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints):
...
change to alias to each_*, in similar way to ARGF and String.
[ruby-core:23948]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-02 12:19:24 +00:00
akr
54a61d3e2a
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-19 12:52:03 +00:00
mame
713e99cec2
* io.c (io_fread, io_getpartial, io_read, io_sysread): by using lock,
...
prohibit modification of buffer string during read (which had caused
EFAULT or SEGV). [ruby-dev:40437]
* test/ruby/test_io.rb: rewrite tests for the old behavior.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-17 17:19:53 +00:00
akr
76678bb526
* io.c: check lseek error by errno. NetBSD 4.0.1 may return -1 as
...
a file position of tty.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-15 14:37:52 +00:00
akr
c09bcd351a
* io.c (rb_io_oflags_modestr): return "r" for O_RDONLY|O_APPEND.
...
[ruby-dev:40379]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-11 11:45:22 +00:00
mame
b4f90b236c
* io.c (READ_CHECK): do not select fd before reading, that had made
...
TCPServer#gets stuck. [ruby-dev:40317]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-09 13:27:04 +00:00
matz
bba5e1126b
* io.c (rb_io_getline_fast): wrong calculation of new position
...
from rb_str_coderange_scan_restartable(). [ruby-core:28103]
* io.c (read_all): ditto.
* sprintf.c (rb_str_format): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-08 15:08:15 +00:00
wanabe
8d33d0a560
* io.c (rb_io_each_codepoint): use cbuf when needs readconv.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-31 14:24:40 +00:00
naruse
d5b0c4b1f3
* dln.c, file.c, io.c, signal.c: add __HAIKU__.
...
patched by Alexander von Gluck [ruby-core:27767]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-25 03:06:06 +00:00
usa
ef6e53635a
* io.c (rb_io_s_read): close the IO if an exception is raised on
...
seeking. [ruby-core:27429]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-08 07:47:12 +00:00
mame
ae8dc9b722
* vm_eval.c (rb_iterate): pass current block when the argument bl_proc
...
is NULL. This behavior can be used to make enumerator faster
[ruby-dev:39874]
* enumerator.c (enumerator_each): pass current block directly instead
of trampoline block (enumerator_each_i).
* io.c (argf_each_line, argf_each_byte, argf_each_char): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-20 12:31:26 +00:00
nobu
4d786d21e3
* removed spaces just before tabs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-26 05:25:08 +00:00
naruse
8f05568afb
* io.c (read_all): fix: false negative invalid byte seequence
...
on reading from pipes. [ruby-dev:39743]
fix: assigin the variable 'pos' as relative value from recent pos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-21 07:03:06 +00:00
akr
973841cb73
* io.c (MORE_CHAR_SUSPENDED): renamed from MORE_CHAR_CBUF_FULL.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 15:47:41 +00:00
akr
4c6eda226a
* io.c (fill_cbuf): extracted from more_char.
...
(io_shift_cbuf): fix memmove condition.
(read_all): use fill_cbuf directly to avoid ECONV_AFTER_OUTPUT.
[ruby-dev:39708]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 13:02:14 +00:00
naruse
6c2373ea67
* io.c (rb_scan_open_args): move path encoding conversion
...
for filesystem encoding of Mac OS X.
* file.c (file_path_convert): added for convert encoding
of file path.
* file.c (rb_get_path_check): add file_path_convert.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 02:41:25 +00:00
akr
cde9a50b75
* io.c (parse_mode_enc): fix invalid access.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-17 22:52:02 +00:00
wanabe
98cf9c43fa
* io.c (read_all): shift read buffer if exception occured.
...
pointed out in [ruby-dev:39702].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-16 05:06:16 +00:00
wanabe
d8a754cc12
* io.c (read_all): don't call io_shift_cbuf until bufffering enough or
...
econv_finished. [ruby-dev:39696]
* io.c (more_char): don't call clear_readconv to read buffer after
econv_finished.
* io.c (appendline, rb_io_each_codepoint): clear readconv when done.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-15 23:11:26 +00:00
akr
b9e0294eda
fix typos.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-03 17:46:28 +00:00
matz
0580ba0611
* array.c (rb_ary_to_ary): do not use #respond_to? to detect
...
to_ary. Just call. [ruby-core:23738]
* eval.c (rb_check_funcall): new function with method existence
check. returns Qundef when the method does not exist.
* enumerator.c (enumerator_rewind): just call method, using
rb_check_funcall(). [ruby-core:23738]
* error.c (exc_equal): ditto.
* object.c (convert_type): ditto.
* error.c (rb_name_err_mesg_new): export function.
* eval.c (make_exception): ditto.
* io.c (pop_last_hash): return early when the last argument is nil.
* io.c (rb_io_puts): treat T_STRING specially for small
optimization.
* vm_eval.c (raise_method_missing): skip method call if possible
using rb_method_basic_definition_p().
* vm_eval.c (method_missing): ditto.
* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_debug): test
suites changed to ignore exceptions caused by just-call policy.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-29 04:55:10 +00:00
naruse
ee15e6ee3b
* io.c (Init_IO): rb_default_rs should be US-ASCII.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-28 19:42:53 +00:00
nobu
d64d462f7a
* io.c (io_cntl): F_DUPFD is platform dependent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-25 04:34:00 +00:00
akr
843acddbe1
* io.c (io_cntl): update max file descriptor by the result of
...
fcntl(F_DUPFD).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-23 15:38:06 +00:00
nobu
9fff5f0fab
* io.c (io_encoding_set): get rid of parsing non-ascii string, and
...
refine messages for invalid name encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-15 06:14:16 +00:00
nobu
6069202867
* io.c (io_reopen): unread current buffer before telling the
...
position, for the case of reopening same file. [ruby-dev:39479]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-15 05:58:00 +00:00
akr
334241e3ed
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-11 09:34:25 +00:00
akr
1c544fccd2
* io.c (io_reopen): avoid close if possible.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-06 12:31:53 +00:00
akr
c984f77122
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-05 11:27:06 +00:00
nobu
46313c96c7
* io.c (rb_scan_open_args): rb_utf8mac_encoding is undefined.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-29 14:17:34 +00:00
naruse
ad8978fdb1
* io.c (rb_scan_open_args): add UTF8-MAC to no-convertion encoding.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-29 12:31:43 +00:00
nobu
31b7ae00c0
* include/ruby/st.h (st_hash_func): use st_index_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 13:10:04 +00:00
nobu
a5c2f8843f
* io.c (rb_io_tell): adjustment for ungotten data.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-07 08:23:00 +00:00
nobu
5a12fb5fb8
* io.c (io_encname_bom_p): removed magic number.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-07 08:13:55 +00:00
nobu
f64949e276
* io.c (Init_IO): added rdocs for constants.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-07 08:12:32 +00:00
nobu
33ff311494
* io.c: fixed rdoc, a patch from Nobuhiro IMAI at [ruby-core:25433].
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-06 01:34:21 +00:00
nobu
c06c77091b
* io.c (argf_next_argv): fixed indent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-05 23:11:03 +00:00
naruse
a535975bcb
* io.c: Add rdoc for ARGF.
...
contributed by Run Paint Run Run. [ruby-core:23854]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-05 20:23:56 +00:00
naruse
7fa7345609
Rename FMODE_STRIP_BOM to FMODE_SETENC_BY_BOM.
...
* include/ruby/io.h, io.c (FMODE_SETENC_BY_BOM):
renamed from FMODE_STRIP_BOM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-21 06:17:06 +00:00
naruse
f7207fa2fc
Change modestr syntax for BOM to "BOM|UTF-*".
...
* io .c (rb_io_fmode_modestr): change modestr syntax for BOM
to "BOM|UTF-*".
* io.c (parse_mode_enc): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-21 06:16:53 +00:00
nobu
4b82d3b6b8
* io.c (rb_sysopen_internal): removed const qualifier.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 15:06:36 +00:00
nobu
36c9cddf6c
* io.c (rb_sysopen): moved sysopen_struct from rb_sysopen_internal.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 14:56:23 +00:00
nobu
cb9038cbaf
* io.c (rb_stdio_set_default_encoding): prototyped.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-05 10:18:21 +00:00
naruse
00499c097f
Set encodings of stdio after setting default internal and external.
...
* io.c (rb_stdio_set_default_encoding): added.
* ruby.c (process_options): call rb_stdio_set_default_encoding
after setting defualt internal and external.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-31 07:37:02 +00:00
matz
49991ff6f8
* io.c (argf_eof): should call next_argv() before testing.
...
[ruby-core:24561]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-28 08:46:04 +00:00
nobu
b7f26835da
* io.c (argf_eof): go to the next file if called after ARGF.close
...
or ARGF.skip. [ruby-core:24561]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-26 10:17:39 +00:00
nobu
c689ee1a89
* io.c (argf_eof): should not have reached EOF before trying to
...
read. based on a patch by Heesob Park <phasis AT gmail.com> at
[ruby-core:24559]. [ruby-core:24557]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-25 08:49:08 +00:00
naruse
c38487d063
* io.c (rb_f_open): add rdoc about specifying ext_enc as *-bom.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-20 11:37:26 +00:00
nobu
2737b90e36
* io.c (io_read): should taint the result. [ruby-dev:38826]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 08:32:44 +00:00
nobu
e07cb859cc
* suppressed shorten-64-to-32 warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-18 08:05:32 +00:00
nobu
53163f8138
* io.c (io_reopen): discards read buffer. [ruby-core:24240]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 07:00:23 +00:00
ko1
0d2449bd35
* io.c (argf_free): free data body.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-15 23:55:21 +00:00
nobu
9681409e36
* io.c (rb_io_initialize): check if the descriptor can be accessed
...
in the specified open mode. [ruby-dev:38571]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-14 07:13:11 +00:00
usa
0fefd19023
* io.c (pipe_open): handles leaked on win32 when an error occurs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 13:33:00 +00:00
akr
e13fb8029b
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-12 17:36:23 +00:00
naruse
161f0a1699
io.c (io_strip_bom): ungetbyte third byte when UTF-16LE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 14:21:13 +00:00
naruse
f188db3105
Fix condition of second byte of UTF-16LE/UTF-32LE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 14:21:04 +00:00
naruse
67016f368c
cosmetic changes
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 13:17:43 +00:00
naruse
634cfdc6e6
Set encoding and strip bom when modeenc string is "r:foo-bom" [ruby-dev:37236]
...
* include/ruby/io.h (FMODE_STRIP_BOM): new constant.
* io.c (io_encname_bom_p): judge whether the encoding name
is *-bom or not.
(parse_mode_enc): drop "-bom".
(rb_io_modestr_fmode): set FMODE_STRIP_BOM if needed.
(rb_io_extract_modeenc): ditto.
(io_strip_bom): strip bom if exists.
(io_set_encoding_by_bom): set encoding if there is bom.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-09 14:47:48 +00:00
naruse
999123c147
* io.c (rb_io_ext_int_to_encs): Set external encoding if
...
ext==intern. [ruby-dev:38278]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-07 01:15:32 +00:00
matz
917286208c
* io.c (argf_rewind): need to rewind $. and ARGF.lineno.
...
[ruby-core:24046]
* io.c (struct argf): refactoring on $. and ARGF.lineno behavior.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-26 18:10:12 +00:00
matz
06e3782978
* io.c (argf_binmode_m): should call rb_io_ascii8bit_binmode() to
...
set its encoding to ASCII-8BIT. [ruby-core:24029]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-25 09:01:45 +00:00
matz
bfcc8dbbd3
* io.c (rb_io_each_codepoint): uninitialized local variable enc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-24 22:49:37 +00:00
akr
5202b22bfe
update rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-22 16:25:50 +00:00
akr
fc64028291
* io.c: remove __CHECKER__ test.
...
* dir.c: ditto.
* dln.c: ditto.
* file.c: ditto.
* process.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-22 12:23:06 +00:00
matz
fa31dda1f8
* ext/stringio/stringio.c (strio_each_codepoint): new method.
...
[ruby-core:23949]
* ext/stringio/stringio.c (strio_each_codepoint): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-22 08:23:30 +00:00
nobu
a7dedc272e
* io.c (rb_io_fdatasync): new method IO#fdatasync.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-22 04:50:29 +00:00
akr
5baa0431b9
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-20 19:15:08 +00:00
akr
fa2ab2fca3
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-20 13:12:59 +00:00
ko1
3caa4ee5e5
* array.c (rb_ary_memsize): added.
...
* io.c (rb_io_memsize): added.
* regcomp.c (onig_memsize): added.
* string.c (rb_str_memsize): added.
* transcode.c (rb_transcoding_memsize, rb_econv_memsize): added.
* variable.c (rb_geneic_ivar_memsize): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 22:36:27 +00:00
matz
d3b852345a
* io.c (fptr_finalize): revert last change. [ruby-dev:38648]
...
* io.c (fptr_finalize): skip close(2) for fd 0,1,2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 14:46:53 +00:00
matz
6f1edacc01
* io.c (fptr_finalize): should close stdin/stdout/stderr when
...
closed explicitly. [ruby-core:23853]
* io.c (argf_skip): should close only when current_file is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 01:14:28 +00:00
matz
c6cb57262d
* io.c (argf_each_line): should return self. [ruby-core:23852]
...
* io.c (argf_each_byte, argf_each_char): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-15 09:54:36 +00:00
kazu
a7a1968ad1
* io.c (Init_IO): add constant File::NOATIME. [ruby-core:23194]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-11 11:11:11 +00:00
nobu
defd374aae
* io.c (pipe_open): should be rb_pid_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-07 04:10:27 +00:00
nobu
5a809d60bd
* io.c: fixed types.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-26 09:46:41 +00:00
nobu
ff8681ba57
* io.c (io_reopen): keeps pathv for prep_stdio. [ruby-dev:38131]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-26 09:35:34 +00:00
akr
8e8ae2a9c5
* node.h (rb_notimplement_body_p): declared.
...
* vm_method.c (Init_eval_method): suppress a warning.
* io.c (rb_io_fsync): use rb_f_notimplement if not implemented.
(rb_io_close_on_exec_p): ditto.
(rb_io_set_close_on_exec): ditto.
(rb_io_fcntl): ditto.
(rb_f_syscall): ditto.
* dir.c (dir_tell): ditto.
(dir_seek): ditto.
(dir_s_chroot): ditto.
* process.c (proc_getpgrp): ditto.
(proc_setpgrp): ditto.
(proc_getpgid): ditto.
(proc_setpgid): ditto.
(proc_setsid): ditto.
(proc_getpriority): ditto.
(proc_setpriority): ditto.
(proc_getrlimit): ditto.
(proc_setrlimit): ditto.
(p_sys_setuid): ditto.
(p_sys_setruid): ditto.
(p_sys_seteuid): ditto.
(p_sys_setreuid): ditto.
(p_sys_setresuid): ditto.
(p_sys_setgid): ditto.
(p_sys_setrgid): ditto.
(p_sys_setegid): ditto.
(p_sys_setregid): ditto.
(p_sys_setreuid): ditto.
(p_sys_setresgid): ditto.
(p_sys_issetugid): ditto.
(proc_getgroups): ditto.
(proc_setgroups): ditto.
(proc_initgroups): ditto.
(proc_daemon): ditto.
(rb_proc_times): ditto.
* file.c (rb_file_s_lchown): ditto.
(rb_file_s_link): ditto.
(rb_file_s_symlink): ditto.
(rb_file_s_readlink): ditto.
(rb_file_s_truncate): ditto.
(rb_file_truncate): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-16 16:58:06 +00:00
matz
d98da36b8c
* thread.c (rb_thread_fd_select): new function to call select
...
using rb_fdset_t.
* io.c (select_internal): use rb_thread_fd_select instead of
rb_thread_select. based on the patch from Kengo Matsuyama.
[ruby-dev:38221]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-01 04:56:51 +00:00
akr
c79e8ba065
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-28 14:49:49 +00:00
knu
6c024efb90
* io.c (rb_io_inspect): Cannot access fptr->fd if fptr is NULL.
...
This fixes a coredump caused by: ruby -e "class X < IO; def
initialize; end; end; p X.new.inspect"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-24 08:11:01 +00:00
nobu
148f58c2df
* io.c (pipe_open): should pass program name even if multiple
...
arguments are given. fix for TestProcess::test_argv0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-20 22:25:57 +00:00
akr
c4049f4cb6
* io.c (rb_mWaitReadable): defined.
...
(rb_mWaitWritable): defined.
(io_getpartial): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN.
(rb_io_write_nonblock): extend IO::WaitWritable on EWOULDBLOCK and
EAGAIN.
* error.c (make_errno_exc): extracted from rb_sys_fail.
(rb_mod_sys_fail): new function.
* include/ruby/ruby.h (rb_mod_sys_fail): declared.
(rb_mWaitReadable): declared.
(rb_mWaitWritable): declared.
* ext/socket/init.c (rsock_s_recvfrom_nonblock): extend
IO::WaitReadable on EWOULDBLOCK and EAGAIN.
(rsock_s_accept_nonblock): extend IO::WaitReadable on EWOULDBLOCK,
EAGAIN, ECONNABORTED and EPROTO.
* ext/socket/socket.c (sock_connect_nonblock): extend IO::WaitWritable
on EINPROGRESS.
* ext/socket/ancdata.c (bsock_sendmsg_internal): extend
IO::WaitWritable on EWOULDBLOCK and EAGAIN.
(bsock_recvmsg_internal): extend IO::WaitReadable on EWOULDBLOCK and
EAGAIN.
* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): raise SSLError
extended by IO::WaitReadable/IO::WaitWritable on
SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE.
* ext/openssl/ossl.c (ossl_make_error): extracted from ossl_raise.
(ossl_exc_new): new function.
* ext/openssl/ossl.h (ossl_exc_new): declared.
* lib/net/protocol.rb (rbuf_fill): rescue IO::WaitReadable and
IO::WaitWritable.
[ruby-core:22539], [ruby-dev:38140]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-19 11:40:38 +00:00
akr
616932fbdb
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-17 10:27:17 +00:00
akr
e36cfc749f
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-17 10:14:01 +00:00
akr
e3cb6518d1
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-17 01:37:57 +00:00
nobu
50d1f54d4d
* io.c (nogvl_copy_stream_read_write, copy_stream_body): use size_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-12 10:40:33 +00:00
nobu
d1abc53721
* array.c, bignum.c, dln.c, error.c, gc.c, io.c, marshal.c,
...
numeric.c, pack.c, strftime.c, string.c, thread.c, transcode.c,
transcode_data.h, util.c, variable.c, vm_dump.c,
include/ruby/encoding.h, missing/crypt.c, missing/vsnprintf.c:
suppress VC type warnings. [ruby-core:22726]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-12 09:16:15 +00:00
nobu
748ed24234
* io.c (copy_stream_fallback_body): off_t may be larger than long.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-11 20:22:52 +00:00
usa
2c288bf91f
* include/ruby/win32.h (rb_w32_wopen): prototype forgotten.
...
* io.c (rb_sysopen_internal): shouldn't replace undefined chars in this
case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-26 01:58:20 +00:00
usa
a898f0fb4b
* io.c (sysopen_func, rb_sysopen_internal, rb_sysopen): open file
...
by UTF-16'ed filename on Windows.
* io.c (rb_file_open_generic, rb_io_s_sysopen, rb_io_reopen,
argf_next_argv): follow above change.
* io.c (rb_scan_open_args): no longer need to convert filepath here on
Windows.
* win32/wio32.c (rb_w32_wopen): new function to open file by UTF-16'ed
filename.
* win32/win32.c (rb_w32_open): call rb_w32_open().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 08:36:45 +00:00
nobu
ac9d09ba3c
* io.c (rb_io_getline_1): enables limit even if rs is given.
...
[ruby-core:22434]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 03:06:12 +00:00
akr
2e0a20d3e2
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 16:22:28 +00:00
nobu
12d2c8ba41
stripped trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 14:23:33 +00:00
akr
9cfe35ad50
* io.c (io_getpartial): error message describes what should be
...
waited after nonblocking error.
(rb_io_write_nonblock): ditto.
* ext/socket/init.c (s_recvfrom_nonblock): ditto.
(s_accept_nonblock): ditto.
* ext/socket/socket.c (sock_connect_nonblock): ditto.
* ext/socket/ancdata.c (bsock_sendmsg_internal): ditto.
(bsock_recvmsg_internal): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 15:57:52 +00:00
nobu
30231731a9
* io.c (pipe_open): sarg is always used unless HAVE_FORK.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 06:33:53 +00:00
nobu
3229c32008
* io.c (rb_write_error2, argf_next_argv), process.c (rb_fork_err),
...
random.c (fill_random_seed): suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 06:21:04 +00:00
naruse
646e2efaef
* io.c (io_encoding_set): ignore second argument when external and
...
internal are same. [ruby-dev:37939]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-09 02:35:38 +00:00
nobu
25d14edf29
* io.c (rb_io_s_binread): ensures file path. [ruby-dev:37940]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-08 09:34:46 +00:00
akr
a0b54e6cbd
* io.c (io_fread): use rb_io_wait_readable for retry
...
avoid Errno::EINTR on ruby -e 'trap(:CHLD) {}; spawn("sleep 1"); STDIN.read'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-06 14:46:21 +00:00
azav
71dd792128
(pipe_open) [__SYMBIAN32__]: fixed compile time error
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-06 13:31:20 +00:00
akr
74063bf4d3
* include/ruby/intern.h (rb_run_exec_options_err): renamed from
...
rb_run_exec_options.
(rb_exec_err): renamed from rb_exec.
(rb_fork_err): renamed from rb_fork.
(rb_spawn_err): renamed from rb_spawn.
(rb_run_exec_options): declared with 1.9.1 compatible signature.
(rb_exec): ditto.
(rb_fork): ditto.
(rb_spawn): ditto.
* process.c (rb_run_exec_options_err): renamed from
rb_run_exec_options.
(rb_exec_err): renamed from rb_exec.
(rb_fork_err): renamed from rb_fork.
(rb_spawn_err): renamed from rb_spawn.
(rb_run_exec_options): defined.
(rb_exec): ditto.
(rb_fork): ditto.
(rb_spawn): ditto.
* io.c: follow above change.
* ext/pty/pty.c: follow above change.
[ruby-dev:37893]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-05 11:33:19 +00:00
akr
28e33ad61e
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-04 12:58:55 +00:00
akr
4a3e62b383
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-31 05:12:23 +00:00
usa
9e83ce20b1
* revert previous revision. it's already out-of-date.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-22 07:13:40 +00:00
usa
a3e8d63a75
* include/ruby/win32.h, win32/win32.c (rb_w32_is_valid_fd): new function
...
to validate fd.
* io.c (rb_io_initialize): check fd with above function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-22 06:55:20 +00:00
nobu
938fcd6b70
* io.c (rb_io_ungetbyte, rb_io_ungetc): allows nil to reset EOF
...
flag with ungetting nothing.
* ruby.c (load_file_internal): rests EOF flag to make possible to
load from stdin after reading data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-21 12:42:39 +00:00
nobu
237c54075a
* io.c (rb_io_ungetbyte, rb_io_ungetc): clears EOF flag.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-21 06:31:03 +00:00
nobu
877dca1e27
* include/ruby/io.h (typedef struct rb_io_t):
...
* io.c (flush_before_seek):
* io.c (io_fillbuf):
* io.c (io_fread):
* io.c (io_getpartial):
* ruby.c (load_file_internal):
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-21 04:56:06 +00:00
akr
c157583627
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 13:45:06 +00:00
usa
4430438c66
* io.c (pipe_open): revert a part of previous commit. it may be a
...
mistake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 02:41:38 +00:00
matz
c6af6b1b94
* symbian/README.SYMBIAN: symbian support added. great appreciate
...
to <alexandre.zavorine at symbian.com>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 01:53:08 +00:00
nobu
96a49b1ada
* io.c (rb_io_wait_readable, rb_io_wait_writable): need rb_fd_ptr.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-14 03:39:20 +00:00
nobu
ff80e84db9
* io.c (appendline): reformed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-14 03:38:06 +00:00
nobu
d4beba3f3e
* io.c (rb_io_s_pipe): reduced nest of rb_ensure of main block.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-14 03:35:25 +00:00
usa
be551172ed
* io.c (io_reopen, rb_io_init_copy): should register fptr to pipe_list
...
when copying pipe fptr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 12:45:43 +00:00
usa
c4554d20a6
* io.c (rb_io_close_read): call rb_io_fptr_cleanup() instead of
...
fptr_finalize() because the fptr has special finalizser if it is a
pipe. [ruby-dev:37757] (3)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 09:23:54 +00:00
usa
fbc4429d72
* io.c (rb_io_initialize): workaround for Windows. [ruby-dev:37686]
...
(also see [ruby-dev:37721])
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 09:21:14 +00:00
akr
e6045986ef
* io.c (rb_close_before_exec): more heuristics to detect maximum fd.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-05 15:35:21 +00:00
akr
1dfea33652
* io.c (maygvl_copy_stream_wait_read): renamed to add prefix to
...
express GVL state.
(nogvl_copy_stream_wait_write): ditto.
(nogvl_copy_stream_sendfile): ditto.
(maygvl_copy_stream_read): ditto.
(nogvl_copy_stream_write): ditto.
(nogvl_copy_stream_read_write): ditto.
(nogvl_copy_stream_func): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-03 18:34:06 +00:00
akr
a6d38b8c39
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 11:09:27 +00:00
akr
f7676fd9d4
update rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 09:06:09 +00:00
akr
67d66b2652
* io.c (copy_stream_body): don't check to_io because
...
Zlib::GzipWriter#to_io returns the underlying IO.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 07:19:24 +00:00
naruse
a928613a31
revert previous changes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 02:56:23 +00:00
naruse
1ebed6c614
* file.c (rb_get_path): move encoding conversion of file path
...
from rb_scan_open_args.
* io.c (rb_scan_open_args): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 02:01:02 +00:00
akr
b729ec53a2
* io.c (fptr_finalize): don't allocate objects if noraise.
...
(finish_writeconv): add noalloc argument to be able to avoid
object allocation.
(finish_writeconv_arg): introduced again.
(finish_writeconv_sync): follow the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 09:05:47 +00:00
akr
b17c5eba46
* io.c (fptr_finalize): close the IO object even if finish_writeconv or
...
flush is failed.
(finish_writeconv): don't raise. return errno or exception.
(finish_writeconv_arg): removed.
(finish_writeconv_sync): follow finish_writeconv change.
* transcode.c (rb_econv_make_exception): new function.
* include/ruby/encoding.h (rb_econv_make_exception): declared.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 05:04:39 +00:00
akr
b0480260e2
* io.c (rb_io_s_pipe): unused variable removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 11:02:09 +00:00
akr
bb4329becd
* io.c (pipe_close): removed.
...
(pipe_yield): defined.
(rb_io_s_pipe): use pipe_yield.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 09:36:40 +00:00
akr
ea6ac1c45b
* io.c (rb_io_initialize): check fd validity. [ruby-dev:36646]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 08:07:01 +00:00
akr
db0a659012
* io.c (flush_before_seek): check io_fflush result.
...
(rb_io_check_readable): ditto.
(rb_io_flush): ditto.
(rb_io_fsync): ditto.
(remain_size): ditto.
(rb_io_write_nonblock): ditto.
(finish_writeconv): ditto.
(fptr_finalize): ditto.
(io_reopen): ditto.
(rb_io_reopen): ditto.
(copy_stream_body): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 07:25:06 +00:00
matz
ad558a3a7f
* io.c (io_fflush): flush write buffer without write lock in
...
finalizers. [ruby-dev:37572]
* io.c (rb_io_fptr_finalize): clear write lock before finalizing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 06:55:38 +00:00
akr
f20234994e
* io.c (fptr_finalize): close the IO object even if close(2) is failed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 06:08:12 +00:00
usa
dea037cc67
* io.c: sorry, wrong commit. orz
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 04:33:22 +00:00
usa
f29ec7ed67
* io.c (rb_io_flush): fsync() after buffer is flushed on win32.
...
[ruby-core:20043]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 04:29:30 +00:00
akr
19fee2e2e0
* io.c (rb_io_init_copy): call io_seek only if io_tell succeeds.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 15:22:18 +00:00
akr
423bbf80d5
* process.c (rb_fork): propagete an error message from child to parent.
...
(rb_f_exec): show details of error in child process on
exception.
(save_redirect_fd): add error message arguments.
(run_exec_dup2): ditto.
(run_exec_close): ditto.
(run_exec_open): ditto.
(run_exec_dup2_child): ditto.
(run_exec_pgroup): ditto.
(run_exec_rlimit): ditto.
(rb_run_exec_options): ditto.
(rb_exec): ditto.
(rb_exec_atfork): ditto.
(rb_spawn_internal): ditto.
(rb_spawn): ditto.
(rb_f_system): follow arguments change.
(proc_daemon): ditto.
(rb_f_spawn): show details of error in child process on exception.
* io.c (popen_exec): add error message arguments.
(pipe_open): show details of error in child process on exception.
* include/ruby/intern.h (rb_run_exec_options): add error message
arguments.
(rb_exec): ditto.
(rb_fork): ditto.
(rb_spawn): ditto.
* ext/pty/pty.c (chfunc): add error message arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 13:15:54 +00:00
yugui
5677106ec9
* io.c: rdoc for File::open and 1.9 feature in file modes.
...
* transcode.c: rdoc for String#encode
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 11:30:44 +00:00
akr
fbcc23a8fa
* io.c (rb_io_inspect): show fd number if there is no pathname.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 07:24:13 +00:00
usa
7d02404765
* io.c (pipe_open): need to initialize args.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 06:30:33 +00:00
akr
a61a5f171d
* io.c (pipe_close): fix coding style. [ruby-dev:37554]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 03:00:31 +00:00
akr
b795b5c537
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 12:29:04 +00:00
akr
3a7daf882b
* io.c (rb_io_s_pipe): IO.pipe can take a block.
...
(pipe_close): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 12:27:26 +00:00
nobu
7ac32d7a16
* dln.c (dln_find_1): supplements an extension for executable
...
files on DOSish platforms.
* io.c (pipe_open): use rb_w32_aspawn() for array form.
* win32/win32.c (rb_w32_pipe_exec): no longer used.
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): deals with batch
files and commands with extensions. [ruby-core:20695]
* win32/win32.c (has_redirection): supports environment variables
references.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-20 09:28:29 +00:00
matz
63219d8a24
* io.c (rb_io_extract_encoding_option): "internal_encoding: nil"
...
to specify no-transcoding. and other corner case fixed.
[ruby-dev:37496]
* hash.c (rb_hash_lookup2): new function to look-up hash with
default value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-19 08:22:45 +00:00
akr
b314ab3e44
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-10 17:18:31 +00:00
akr
4433defb46
* io.c (io_binwrite): arg.offset should be updated after retry.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 22:59:25 +00:00
usa
a9a4435e12
* win32/win32.c (rb_w32_read): ERROR_BROKEN_PIPE is not a real error
...
at this point.
* io.c (pipe_open): use rb_w32_spawn() instead of rb_w32_pipe_exec()
to use our own redirection scheme.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 16:39:03 +00:00
akr
49b10fd508
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 15:21:32 +00:00
akr
ec324872d5
update rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 15:02:49 +00:00
nobu
aa39c4491a
* io.c (rb_io_getc, rb_io_readchar): documentation correction from
...
Emiel van de Laar. [ruby-core:20212]
* ext/stringio/stringio.c (strio_ungetbyte): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 03:22:12 +00:00
nobu
551dfe9d8b
* include/ruby/io.h (rb_io_t): added write_lock to serialize.
...
[ruby-core:19668]
* gc.c (gc_mark_children): mark write_lock.
* gc.c (rb_gc_call_finalizer_at_exit): Mutex also needs to be
deferred.
* io.c (io_fflush, io_binwrite, fptr_finalize): serializes writing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-07 20:47:02 +00:00
matz
86ade65104
* io.c (rb_io_rewind): should reset fptr->readconv if it's
...
available.
* io.c (more_char): clear readconv at EOF.
* test/ruby/test_file.rb: should not read after EOF. use rewind
instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 16:40:05 +00:00
usa
f3ac3e8774
* io.c (extract_binmode): new function to extract binmode/textmode
...
options from hash.
* io.c (rb_io_extract_modeenc): use above function.
* io.c (rb_io_s_pipe): recognize binmode/textmode options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 12:00:42 +00:00
usa
7d934c47d1
* io.c (make_readconv): now can specify the size of cbuf.
...
* io.c (read_all, appendline, io_getc, rb_io_ungetc): follow above
change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 11:18:28 +00:00
nobu
782f3bd3f9
* io.c (argf_init): initial value of $. should be 0.
...
see [ruby-dev:36937].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 06:55:06 +00:00
usa
db8e3024e7
* io.c (read_all): the 3rd argument maybe Qnil.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-27 01:03:22 +00:00
nobu
0db5641dae
* io.c (read_all): use the given buffer to read when needs readconv.
...
based on the patch by wanabe <s.wanabe AT gmail.com> at
[ruby-dev:36931].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-26 04:30:45 +00:00
matz
a9a23756b5
* io.c (pipe_open): remove unnecessary flush before fork.
...
a patch from Kazuhiro NISHIYAMA <zn at mbf.nifty.com>
in [ruby-dev:36840].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-22 08:27:48 +00:00
matz
c5377c2bcc
* io.c (open_key_args): should adjust argc, argv in struct
...
foreach_arg.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 13:57:16 +00:00
matz
b6ef272d02
* ext/zlib/zlib.c: remove obsolete prototype macros.
...
* ext/zlib/zlib.c (struct gzfile): add encoding field to gzfile
structure.
* ext/zlib/zlib.c (rb_gzreader_getc): now works on characters.
* ext/zlib/zlib.c (rb_gzreader_getbyte): new method to retrieve
single byte.
* ext/zlib/zlib.c (rb_gzreader_readbyte): ditto.
* ext/zlib/zlib.c (rb_gzreader_each_byte): renamed from each_char
* ext/zlib/zlib.c (rb_gzreader_ungetc): allow unget strings.
* ext/zlib/zlib.c (rb_gzreader_ungetbyte): renamed from ungetc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 09:18:34 +00:00
shugo
d423b884b8
* io.c, include/ruby/intern.h (rb_io_ascii8bit_binmode): externed.
...
* ext/socket/socket.c (init_sock): use rb_io_ascii8bit_binmode()
instead of rb_io_binmode().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 04:31:15 +00:00
nobu
4442095d4c
* io.c (rb_file_open_internal): should initialize fmode before using.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 01:40:41 +00:00
matz
e50a5bcef0
* io.c (rb_io_extract_modeenc): plain rb/wb should set ASCII-8BIT
...
to the external_encoding.
* io.c (rb_file_open_internal): ditto.
* io.c (NEED_WRITECONV): no conversion when the external_encoding
is ASCII-8BIT.
* io.c (do_writeconv): skip ASCII-8BIT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-20 16:57:19 +00:00