| Age | Commit message (Collapse) | Author |
|
--
* 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
|
|
--
* test/ruby: uniquify test names.
--
* test/ruby/test_transcode.rb (test_from_cp50221): fix wrong
assertion and move back.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
--
* 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
|
|
--
* test/ruby/test_io.rb (TestIO#pipe): get rid of deadlock on pipe.
a patch from Tomoyuki Chikanaga at [ruby-dev:42435]. #3970
* test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto.
--
* test/ruby/test_io.rb (TestIO#pipe): need to propagate exceptions
in read/write thread. fix r29541.
* test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto.
--
* ruby/test_io_m17n.rb (TestIO_M17N#pipe): fixed the mistake of previous
commit.
--
* test/ruby/test_io.rb (TestIO#pipe): should close write end of pipe
before closing read end, to get rid of timing problem.
* test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
--
* 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
|
|
--
* 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
|
|
--
* 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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
--
* test/ruby/test_io_m17n.rb (test_textmode_paragraph_binaryread):
use opened pipes by with_pipe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
--
add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
--
* test/ruby/test_io_m17n.rb (TestIO_M17N#test_cbuf_select),
(TestIO_M17N#test_textmode_paragraphmode): close pipes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
--
add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
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
|
|
string. [ruby-dev:41023]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
after \r\n detection instead of just after \r.
[ruby-list:45988] [ruby-core:25881] [ruby-core:26788]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
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
|
|
refine messages for invalid name encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* 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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
not compatible with ASCII.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_eConversionUndefinedError.
(rb_eConverterNotFoundError): renamed from rb_eNoConverterError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in
[ruby-dev:36346].
* encoding.c (Init_Encoding): rename EncodingCompatibilityError to
Encoding::CompatibilityError. [ruby-dev:36366]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-dev:36327]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rb_io_extract_modeenc): use validate_enc_binmode.
(io_encoding_set): call validate_enc_binmode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
written for text mode IO without encoding conversion.
(rb_io_extract_modeenc): binmode requirement changed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(ECONV_STATEFUL_ENCODER_MASK): defined.
(ECONV_XML_ATTR_QUOTE_ENCODER): defined.
(ECONV_XML_ATTR_ENCODER): removed.
* enc/trans/escape.trans (rb_escape_xml_attr_content): defined.
(rb_escape_xml_attr_quote): defined.
(rb_escape_xml_attr): removed.
* io.c (NEED_WRITECONV): writeconv is required if supplemental
converter is used.
(make_writeconv): apply stateful encoder in writeconv.
* transcode.c: follow the constant change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(ECONV_DECODER_MASK): defined.
(ECONV_ENCODER_MASK): defined.
* io.c (make_writeconv): restrict ecflags for writeconv with
ECONV_ERROR_HANDLER_MASK.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
encoding without binmode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
it tend to cause security problem. If the behaviour is really
required, ECONV_INVALID_REPLACE with empty string can be used.
For example, CVE-2006-2313, CVE-2008-1036, [ruby-core:15645]
(ECONV_UNDEF_IGNORE): ditto.
* transcode.c (rb_econv_convert): follow the above change.
(econv_opts): ditto.
(Init_transcode): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
writeconv_pre_ecopts.
(MakeOpenFile): initialize them.
* include/ruby/encoding.h (rb_str_transcode): take ecopts argument.
(rb_econv_flags): removed.
(rb_econv_prepare_opts): declared.
(rb_econv_open_opts): declared.
* io.c (make_writeconv): use rb_econv_open_opts.
(make_readconv): ditto.
(io_fwrite): follow rb_str_transcode change.
(rb_io_extract_modeenc): use rb_econv_prepare_opts.
(rb_file_open_generic): initialize encs.ecopts.
(rb_file_open_internal): ditto.
(rb_io_reopen): ditto.
(argf_ecopts): defined.
(argf_next_argv): set encs.ecopts.
(io_encoding_set): use rb_econv_prepare_opts.
(argf_set_encoding): set argf_ecopts.
* gc.c (gc_mark_children): mark encs.ecopts and writeconv_pre_ecopts
in T_FILE.
* transcode.c (transcode_loop): take ecopts argument. use
rb_econv_open_opts.
(rb_econv_flags): removed.
(rb_econv_prepare_opts): defined.
(rb_econv_open_opts): defined.
(str_transcode0): take ecopts.
(str_transcode): use rb_econv_prepare_opts.
(rb_str_transcode): take ecopts.
(econv_init): accept hash argument.
(econv_insert_output): follow rb_str_transcode change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
incompatible encodings.
(str_transcode0): don't need disable newline conversion here.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rb_io_set_encoding): ditto.
(rb_io_extract_modeenc): use rb_econv_opts to initialize
ecopts.
(rb_file_open_generic): ditto.
(rb_file_open_internal): ditto.
(io_encoding_set): new argument: opt.
(argf_set_encoding): copy fptr->encs.opts to argf_ecopts.
* transcode.c (rb_econv_opts): accept Qnil for initialization.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* transcode.c (econv_opts): extracted from str_transcode.
(str_transcode_enc_args): extracted from str_transcode.
(str_transcode0): extracted from str_transcode.
(str_transcode): use econv_opts, str_transcode_enc_args,
str_transcode0.
(rb_str_transcode): call str_transcode0.
(econv_primitive_insert_output): give the additional argument for
rb_str_transcode.
* io.c (make_writeconv): use invalid/undef flags.
(io_fwrite): ditto.
(rb_scan_open_args): give the additional argument for
rb_str_transcode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(FMODE_INVALID_IGNORE): defined.
(FMODE_INVALID_REPLACE): defined.
(FMODE_UNDEF_MASK): defined.
(FMODE_UNDEF_IGNORE): defined.
(FMODE_UNDEF_REPLACE): defined.
* io.c (sym_invalid): defined.
(sym_undef): defined.
(sym_ignore): defined.
(sym_replace): defined.
(make_readconv): specify ECONV_INVALID_* and ECONV_UNDEF_* if
FMODE_INVALID_* and FMODE_UNDEF_* is set.
(rb_io_extract_modeenc): check {:invalid, :undef} => {:replace,
:ignore} for FMODE_INVALID_* and FMODE_UNDEF_*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
hash.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|