aboutsummaryrefslogtreecommitdiffstats
path: root/io.c
Commit message (Collapse)AuthorAgeFilesLines
* * {bcc,win}32/Makefile.sub (config.h): define ssize_t.usa2008-03-311-0/+8
| | | | | | | | * io.c (copy_stream_body): some platform don't have O_NOCTTY. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_getc): set coderange while getting characters.naruse2008-03-301-26/+43
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_lines, rb_io_bytes, rb_io_chars) Fixed their rdocs.yugui2008-03-301-12/+23
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert git backfire in r15860; sorrymatz2008-03-301-35/+108
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * proc.c (proc_dup): should copy is_lambda attribute as well.matz2008-03-301-108/+35
| | | | | | [ruby-talk:296244] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* forgot to return a value.akr2008-03-301-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c: IO.copy_stream implemented. [ruby-dev:33843]akr2008-03-301-0/+472
| | | | | | | | | | | * thread.c (rb_fd_select): new function. * configure.in (sys/sendfile.h): check the header file. (sendfile): check the function. (pread): check the function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_each_char, rb_io_chars, argf_each_char, io_getc): Added ↵yugui2008-03-281-35/+108
| | | | | | | | | character-wise iterators; IO#each_char, IO#chars, ARGF#each_char. [ruby-dev:34052] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_f_gets, rb_f_readline, rb_f_readlines): delegates to ARGFnobu2008-03-211-9/+39
| | | | | | | as well as puts and putc. [ruby-dev:34100] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (argf_getline): use receiver.nobu2008-03-201-3/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c: removed trailing blanks.nobu2008-03-191-16/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (argf_initialize_copy): get rid of segfault.nobu2008-03-191-10/+34
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (argf_tell, argf_seek_m, argf_set_pos, argf_rewind,nobu2008-03-191-15/+15
| | | | | | | | argf_fileno, argf_to_io, argf_eofl, argf_getc, argf_getbyte, argf_readchar, argf_readbyte, argf_each_line): use receiver. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_putc, rb_io_puts): ouput directly if the reciever isnobu2008-03-191-1/+7
| | | | | | | rb_stdout to get rid of infinite recursion. [ruby-dev:34059] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix doc.akr2008-03-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (fix_to_s): avoid rb_scan_args() when no argumentmatz2008-03-051-2/+4
| | | | | | | | | | | | | | | | | | | | | | given. * bignum.c (rb_big_to_s): ditto. * enum.c (enum_first): ditto. * eval_jump.c (rb_f_catch): ditto. * io.c (rb_obj_display): ditto. * class.c (rb_obj_singleton_methods): ditto. * object.c (rb_class_initialize): ditto. * random.c (rb_f_srand): ditto. * range.c (range_step): ditto. * re.c (rb_reg_s_last_match): ditto. * string.c (rb_str_to_i): ditto. * string.c (rb_str_each_line): ditto. * string.c (rb_str_chomp_bang): ditto. * string.c (rb_str_sum): ditto. * string.c (str_modifiable): declare inline. * string.c (str_independent): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (open_key_args): use rb_io_open_with_args instead of rb_f_open.naruse2008-03-041-3/+20
| | | | | | [ruby-core:15763] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (open_key_args): use rb_io_open instead of rb_f_open.naruse2008-03-031-5/+1
| | | | | | [ruby-core:15746] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_ungetc): reduce redundant call.nobu2008-03-021-4/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (struct argf): packed ARGF stuffs.nobu2008-03-011-121/+250
| | | | | | | * ruby.c (proc_options): use ruby_set_inplace_mode(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (read_all, rb_io_getline_fast): encoding is rb_input_encoding.naruse2008-03-011-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_getline_fast): scan coderange.naruse2008-02-281-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_getline_1): get rid of segfault. [ruby-dev:33938]nobu2008-02-281-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (read_all): fix if.naruse2008-02-271-2/+2
| | | | | | * io.c (rb_io_getline_1): move needless set encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_coderange_scan_restartable): coderange scaningnaruse2008-02-271-2/+11
| | | | | | | | for partial read. * io.c (read_all): set coderange when not convert encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_f_putc): invoke stdout method so that redefining putcmatz2008-02-211-3/+2
| | | | | | | | may take effect. [ruby-talk:291844] * io.c (rb_f_puts): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (argf_set_encoding): uses current_file after check if nextnobu2008-02-211-1/+1
| | | | | | | input is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (argf_set_encoding): uses current_file after check for nextnobu2008-02-211-1/+4
| | | | | | | input. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (open_key_args): set arg->io even if no options passed.usa2008-02-201-5/+6
| | | | | | | | [ruby-dev:33072] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (open_key_args): allow specifying both :mode and :encoding.matz2008-02-151-5/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_reopen): check STDIN, STDOUT and STDERR mode according toakr2008-02-141-9/+4
| | | | | | | stdio streams. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_reopen): don't change access mode for stdin, stdout andakr2008-02-071-1/+7
| | | | | | | stderr. [ruby-core:15360] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_close_read): replaces fptr with the tied writer ifnobu2008-01-301-5/+20
| | | | | | | | | | duplex. * io.c (rb_io_close_write): unties the tied IO for writing if duplex. [ruby-dev:33532] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (open_key_args): allow encoding key to take two encodingmatz2008-01-301-1/+1
| | | | | | names. a patch from <rubikitch AT ruby-lang.org>. [ruby-dev:33540] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (select_internal): fix SEGV by `select [STDIN],nil,[STDIN]'.akr2008-01-301-1/+1
| | | | | | | | fixed by Petr Chromec. http://rubyforge.org/tracker/index.php?func=detail&aid=17275&group_id=426&atid=1698 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_open_file): should check NUL in path.matz2008-01-281-15/+15
| | | | | | | | | | | | <http://www.rubyist.net/~matz/20080125.html#c01>. * io.c (rb_io_s_popen): ditto. * io.c (rb_io_reopen): ditto. * io.c (next_argv): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/oniguruma.h: precise mbclen API redesigned to avoidakr2008-01-271-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inline functions. (onigenc_mbclen_charfound): removed. (onigenc_mbclen_needmore): removed. (onigenc_mbclen_recover): removed. (ONIGENC_MBCLEN_CHARFOUND): removed. (ONIGENC_MBCLEN_CHARFOUND_P): defined. (ONIGENC_MBCLEN_CHARFOUND_LEN): defined. (ONIGENC_MBCLEN_INVALID): removed. (ONIGENC_MBCLEN_INVALID_P): defined. (ONIGENC_MBCLEN_NEEDMORE): removed. (ONIGENC_MBCLEN_NEEDMORE_P): defined. (ONIGENC_MBCLEN_NEEDMORE_LEN): defined. (ONIGENC_MBC_ENC_LEN): use onigenc_mbclen_approximate. * regenc.c (onigenc_mbclen_approximate): defined. * include/ruby/encoding.h (MBCLEN_CHARFOUND): removed. (MBCLEN_INVALID): removed. (MBCLEN_NEEDMORE): removed. (MBCLEN_CHARFOUND_P): defined. (MBCLEN_INVALID_P): defined. (MBCLEN_NEEDMORE_P): defined. (MBCLEN_CHARFOUND_LEN): defined. (MBCLEN_NEEDMORE_LEN): defined. * encoding.c: use new API. * re.c: ditto. * string.c: ditto. * parse.y: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_getline_fast): don't care ASCII incompatible encoding.akr2008-01-251-15/+18
| | | | | | | | | | (prepare_getline_args): generate a newline according to IO encoding when necessary. (rb_io_getline_1): call rb_io_getline_fast only for ASCII compatible encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_getline_fast): the end point of left_char_head()matz2008-01-241-1/+3
| | | | | | must be the last character. [ruby-cvs:22445] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_each_line): use memchr(3) for faster newlinematz2008-01-231-29/+51
| | | | | | | | | | search. * io.c (appendline): remove unused arguments * io.c (rb_io_getline_fast): make much simpler (and faster). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (Init_IO): stdin/stdout may not be duplex.matz2008-01-171-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_fwrite): always flush IO on tty, even without newlines.matz2008-01-171-1/+1
| | | | | | [ruby-core:15107] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_check_readable): flush tied write IO too.nobu2008-01-171-0/+6
| | | | | | | * io.c (Init_IO): tie stdin with stdout. [ruby-core:15107] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (pipe_open, rb_io_s_popen): clear temporary object to releasenobu2008-01-161-0/+2
| | | | | | | and prevent from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (rb_feature_p): get rid of unlimited alloca.nobu2008-01-161-3/+4
| | | | | | | | | * object.c (rb_cstr_to_dbl): ditto. * io.c (mode_enc): fixed uninitialized variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * file.c (sys_fail2): get rid of unlimited alloca.nobu2008-01-161-16/+28
| | | | | | | * io.c (mode_enc, pipe_open, rb_io_s_popen): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (appendline): specifying limit should not generate brokenmatz2008-01-141-0/+12
| | | | | | byte sequence. strings should be rounded. [ruby-dev:33088] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (io_encoding_set): typo fixedmatz2008-01-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_encoding_set): handle nil for v1.matz2008-01-101-4/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_encoding_set): IO.pipe("euc-jp", nil) should work asmatz2008-01-101-0/+1
| | | | | | IO.pipe("euc-jp", nil). [ruby-dev:33000] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e