summaryrefslogtreecommitdiff
path: root/io.c
AgeCommit message (Collapse)Author
2011-07-03merges r32000 from trunk into ruby_1_9_2.yugui
-- * io.c (io_getc): should be 7bit if ascii. fixes #4557 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31merges r30364 from trunk into ruby_1_9_2. Fixes #4377.yugui
-- * 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/branches/ruby_1_9_2@31850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31merges r28557 from trunk into ruby_1_9_2. Fixes #4506.yugui
-- * 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/branches/ruby_1_9_2@31845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31merges r31747 and r31758 from trunk into ruby_1_9_2.yugui
-- * io.c (fill_cbuf): finish reading at EOF. -- * io.c (fill_cbuf): return MORE_CHAR_SUSPENDED when cbuf is not empty. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29merges r31272 from trunk into ruby_1_9_2.yugui
-- * io.c (rb_f_syscall): reduce warning: "HAVE___SYSCALL" is not defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29merges r31237 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@31794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30536 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@30574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30525 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@30573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30526 and r30527 from trunk into ruby_1_9_2.yugui
-- * 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] -- * io.c (rb_f_syscall): Add warning messages. [ruby-core:34062] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30499 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@30570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30349 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@30555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23* io.c (io_fillbuf): fixes a mistake on merging r30280, at r30321.yugui
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23merges r30280 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@30321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23merges r30122 from trunk into ruby_1_9_2.yugui
-- * io.c (io_read): duplicate string if shared. [ruby-dev:42719] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-08merges r29743 from trunk into ruby_1_9_2.yugui
-- * io.c (pipe_finalize): status is success if no process. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02merges r29454 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@30041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02merges r29446 and r29448 from trunk into ruby_1_9_2.yugui
-- * numeric.c (rb_enc_uint_chr): split from int_chr. * numeric.c (int_chr): use rb_enc_uint_chr. * include/ruby/encoding.h (rb_enc_uint_chr): added. -- * io.c (rb_io_ungetc): use unsigned int for GB18030. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02merges r29435 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@30034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-24merges r29256 from trunk into ruby_1_9_2.yugui
-- * io.c (rb_io_puts): fix for wide char encoding strings. [ruby-dev:42212] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@29909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-23merges r29415 from trunk into ruby_1_9_2. fixes #3910 #3951 and #3959.yugui
-- * 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/branches/ruby_1_9_2@29564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-24merges r28687 from trunk into ruby_1_9_2.yugui
-- * 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/branches/ruby_1_9_2@28744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-10merges r28537 and r28555 from trunk into ruby_1_9_2.yugui
-- * io.c (swallow, prepare_getline_args, rb_io_getline_1): fix for paragraph mode reading in non-ascii-compatible encoding. [ruby-dev:41803] -- * test/ruby/test_io_m17n.rb (test_textmode_paragraph_nonasciicompat): should match the modes of both end of pipe as text mode. * test/ruby/test_io_m17n.rb (test_binmode_paragraph_nonasciicompat): new test for binmode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-02* io.c (argf_inplace_mode_set): prohibits an assignmentyugui
of a tainted value. Patch by unak. * util.c, file.c: prevents a buffer over-run on windows. Patch by unak. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-27* include/ruby/io.h, io.c: reverted r21709.nobu
* 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/branches/ruby_1_9_2@28451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-27* io.c (simple_sendfile): don't try to send data more than SSIZE_MAXakr
with single sendfile call.. based on the patch by Eric Wong. [ruby-core:30908] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-22merge from trunk (28381)marcandre
* io.c: rdoc fix for ARGF.lineno; see [ruby-core:29048] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-10merge revision(s) 28243:naruse
* 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/branches/ruby_1_9_2@28244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-07* io.c (parse_mode_enc): set set_by_bom bit. [ruby-core:30641]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 * io.c (pipe_open): add RB_GC_GUARD.tarui
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/branches/ruby_1_9_2@28114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29* removed trailing spaces.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17* array.c: Documentation: change => in call-seq to ->.marcandre
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 * hash.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/branches/ruby_1_9_2@27870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13merge from trunk (r27782)usa
* io.c (swallow): should use more_char() instead of fill_cbuf(). suggested by akr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13* array.c: Harmonize documentation, in particular regarding:marcandre
- 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/branches/ruby_1_9_2@27778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13merge from trunk (r27768-r27770)usa
* io.c (swallow): support text mode and UTF-16/32 as internal encoding. [Bug #1576] * io.c (io_shift_cbuf): read and throw it away when str is NULL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-11merge from trunk (r27718)usa
* 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/branches/ruby_1_9_2@27732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 * io.c (nogvl_copy_stream_sendfile): mixed decls not allowed.shyouhei
* include/ruby/ruby.h (rb_intern): C90 needs nonempty macro arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08* error.c: RDoc for subclasses of Exception. [ruby-core:28394]marcandre
* 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/branches/ruby_1_9_2@27673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-03Add rdoc about IO#read(length). [ruby-core:29161]naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30* merge some patches from win32-uncode-test branch.usa
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* io.c (seek_before_access): fixed argument type.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29* io.c (seek_before_access): renamed. see [ruby-core:29861].nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29* io.c (rb_io_s_binread): fixed rdoc. parts of a patch from Rogernobu
Pack in [ruby-core:29861]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26* io.c (select_internal): IO which cbuf is not empty is readable.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-25* io.c (ruby_dup): update max fd.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24update doc.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24update document.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24* io.c: raise IOError when byte oriented operations occur withakr
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-21* io.c (io_getc): fix incomplete character immediately before EOFnaruse
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-20* io.c (io_getc): set read_encoding to resulted one characternaruse
string. [ruby-dev:41023] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20* io.c: fixed the wrong description of rdoc.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e