summaryrefslogtreecommitdiffstats
path: root/include/ruby/io.h
Commit message (Collapse)AuthorAgeFilesLines
* * include/ruby/io.h (FMODE_TRUNC): value changed because 0x100 is usedakr2008-08-191-1/+3
| | | | | | | as FMODE_NOREVLOOKUP in socket.c git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (FMODE_TRUNC): new constant.akr2008-08-191-0/+1
| | | | | | | | | | | | * io.c (rb_io_mode_flags): set FMODE_TRUNC for "w". (rb_io_modenum_flags): set FMODE_TRUNC for O_TRUNC. (rb_io_flags_modenum): new function. (rb_io_mode_modenum): just use rb_io_mode_flags and rb_io_flags_modenum. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (rb_fopen): declaration removed.akr2008-08-191-1/+0
| | | | | | | | * io.c (rb_fopen): unused function removed. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (FMODE_READWRITE): define asakr2008-08-191-2/+1
| | | | | | | FMODE_READABLE|FMODE_WRITABLE. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (FMODE_*): sorted and describe the values inakr2008-08-191-11/+12
| | | | | | | hexadecimal. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (make_writeconv): if enc and enc2 is set, convertakr2008-08-181-1/+1
| | | | | | | | | | string.encoding to enc2. * include/ruby/io.h: comment changed. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (rb_io_t): new fields: writeconv,akr2008-08-181-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writeconv_stateless and writeconv_initialized. (MakeOpenFile): initialize them. * include/ruby/encoding.h (rb_econv_stateless_encoding): declared. (rb_econv_string): declared. * io.c (make_writeconv): new function. (io_fwrite): use econv. (make_readconv): fix error message. (finish_writeconv): new function. (fptr_finalize): call finish_writeconv. (clear_writeconv): new function. (clear_codeconv): new function to call both clear_readconv and clear_writeconv. (rb_io_fptr_finalize): call clear_codeconv instead of clear_readconv. (mode_enc): ditto. (io_set_encoding): ditto. (argf_next_argv): ditto. (io_encoding_set): ditto. * gc.c (gc_mark_children): mark writeconv_stateless in T_FILE. * transcode.c (stateless_encoding_i): new function. (rb_econv_stateless_encoding): ditto. (rb_econv_string): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update comment.akr2008-08-181-2/+9
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (rb_io_t): new fields: readconv, crbuf, crbuf_off,akr2008-08-161-2/+16
| | | | | | | | | | | | | crbuf_len, crbuf_capa. (MakeOpenFile): initialize them. * io.c (io_shift_crbuf): new function. (io_getc): use econv. (rb_io_fptr_finalize): finalize readconv and crbuf. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * $Date$ keyword removed to avoid inclusion of locale dependentakr2008-01-061-1/+0
| | | | | | | string. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c, io.h: temporary patch to partially implement transcode-on-read and ↵davidflanagan2007-12-221-0/+2
| | | | | | transcode-on-write git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (MakeOpenFile): fptr->enc should bematz2007-12-131-0/+1
| | | | | | intialized to zero. [ruby-dev:32569] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (rb_io_t): add tied_io_for_writing member.akr2007-11-201-0/+2
| | | | | | | | | | | | | * io.c: use tied_io_for_writing for duplex popen. * gc.c: mark tied_io_for_writing. * common.mk: gc.o depends io.h. [ruby-dev:32205] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c: provide basic features for M17N.matz2007-08-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * parse.y: encoding aware parsing. * parse.y (pragma_encoding): encoding specification pragma. * parse.y (rb_intern3): encoding specified symbols. * string.c (rb_str_length): length based on characters. for older behavior, bytesize method added. * string.c (rb_str_index_m): index based on characters. rindex as well. * string.c (succ_char): encoding aware succeeding string. * string.c (rb_str_reverse): reverse based on characters. * string.c (rb_str_inspect): encoding aware string description. * string.c (rb_str_upcase_bang): encoding aware case conversion. downcase, capitalize, swapcase as well. * string.c (rb_str_tr_bang): tr based on characters. delete, squeeze, tr_s, count as well. * string.c (rb_str_split_m): split based on characters. * string.c (rb_str_each_line): encoding aware each_line. * string.c (rb_str_each_char): added. iteration based on characters. * string.c (rb_str_strip_bang): encoding aware whitespace stripping. lstrip, rstrip as well. * string.c (rb_str_justify): encoding aware justifying (ljust, rjust, center). * string.c (str_encoding): get encoding attribute from a string. * re.c (rb_reg_initialize): encoding aware regular expression * sprintf.c (rb_str_format): formatting (i.e. length count) based on characters. * io.c (rb_io_getc): getc to return one-character string. for older behavior, getbyte method added. * ext/stringio/stringio.c (strio_getc): ditto. * io.c (rb_io_ungetc): allow pushing arbitrary string at the current reading point. * ext/stringio/stringio.c (strio_ungetc): ditto. * ext/strscan/strscan.c: encoding support. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby: moved public headers.nobu2007-06-101-0/+126
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e